Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 04-03-2012, 12:49 PM
markuswarren markuswarren is offline
 
Join Date: May 2009
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Converting a mod from vb3 to vb4

<i>Moderators, if this should be in the prog discussions forum, please move</i>
I have a mod I created for vb3 and I am thinking it is probably time to move over to vb4. I know there are substantial differences between the versions, so I'm looking for help and advice.

The main areas I'm concerned about are:
1. Preferences / options changes. I have a couple of prefs that would appear under the General settings prefs (a global on / off option, plus an option for a globally visible item in the forum header), and I also have per forum settings (display a specific item to the right of the forum / sub-forum name in the listing - plus in forumhead)

2. vb code in the templates to check status of an option (show in this forum type of thing)

3. hooks. I use a couple of hooks to ensure the code appears in the right place.

I know, I'm being somewhat vague to say the least. Would it be acceptable to post the contents of my mods .xml file in the thread for someone to have a look over?

Thanks in advance for any suggestions / advice / comments
Reply With Quote
  #2  
Old 04-03-2012, 12:55 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You may find there isn't as much difference as you imagined. I think the biggest change is template syntax, but if you don't have any templates your mod might work without any changes (there are a number of mods that work in both vb3 and vb4 with no changes).

You can post your product here if you wrote it (Don't post someone else's code here without their permission). Use CODE tags around it. If it's large you might want to attach the file instead of posting the contents.
Reply With Quote
  #3  
Old 04-03-2012, 10:00 PM
markuswarren markuswarren is offline
 
Join Date: May 2009
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the reply.

It is my own mod, and I've never published it anywhere previously, it's only in use on one board (one I manage).

Product is attached to this message.

I do have a few template edits, but I make them manually, rather than auto insertion, essentially they perform a conditional check on wether a vb option has been enabled or not. Here is the info file I created for myself for the "showthread" template edit (I have them for; showthread, forumhome_foumbit_level2_post, forumhome_foumbit_level1_post, and forumdisplay)

Code:
Positioning of the SHOWTHREAD template code:

Edit the SHOWTHREAD template and look for the following:

<if condition="$show['inlinemod']">
$spacer_close
<form action="inlinemod.php?threadid=$threadinfo[threadid]&amp;p=$postid" method="post" id="inlinemodform">
$spacer_open
</if>

<a name="poststop" id="poststop"></a>

Place the template code below this block of code


Template Code:

<!-- START - mrwrb -->		
<if condition="$foruminfo[mrwrb_showthread_banners_enabled] == 1 AND $vboptions[mrwrb_global_enable_banners] == 1">

<style type="text/css">
		#mynicebannerouter {height: 105px; overflow: hidden; position: relative; width: 100%;}
		#mynicebannerouter[id] {display: table; position: static;}
		
		#mynicebannermiddle {position: absolute; top: 50%; width: 100%; text-align: center;} /* for explorer only*/
		#mynicebannermiddle[id] {display: table-cell; vertical-align: middle; position: static;}
		
		#mynicebanner {position: relative; top: -50%; text-align: left;} /* for explorer only */
		#mynicebanner {width: 500px; margin-left: auto; margin-right: auto;} /* for all browsers*/
		#mynicebanner[id] {position: static;}
</style>



<div id="mynicebannerouter">
	<div id="mynicebannermiddle">
		<div id="mynicebanner">
		</div>
	</div>
</div>


	$mrwrb_forum_large
	<SCRIPT LANGUAGE="JavaScript">
        rotateImage('mynicebanner')
	</SCRIPT>


</if>

<!-- END - mrwrb -->
Once again, thanks for any help or comments
Attached Files
File Type: xml product-mrwpfrb-112.xml (34.9 KB, 9 views)
Reply With Quote
  #4  
Old 04-04-2012, 11:50 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK, well, I looked it over and didn't immediately see anything that wouldn't work with vb4. I changed the maxversion of the xml file then imported it to my test site and there weren't any errors and your options came up in the forum manager. That's as far as I went. You're obviously going to have to redo the templates and instructions for vb4 but other than that I don't see why it wouldn't work.
Reply With Quote
  #5  
Old 04-05-2012, 10:31 AM
markuswarren markuswarren is offline
 
Join Date: May 2009
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you very much indeed for your help. I'll give it an import and see where I'm at.
Reply With Quote
  #6  
Old 04-06-2012, 10:50 AM
markuswarren markuswarren is offline
 
Join Date: May 2009
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It did indeed import
I do have one problem so far, and the is with the plugin / template edits.

From the posted example I am calling a variable: $mrwrb_forum_large
This does not seem to work, probably as I need to change it to {vb:raw mrwrb_forum_large} but that too seemingly does not work.

What else do I need to do to get this variable read / included into the template (it's coming from a plugin, but I do have one that reads from another template too)
Reply With Quote
  #7  
Old 04-06-2012, 01:23 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The variable needs to be "registered" to the template. Here's an article on that: https://vborg.vbsupport.ru/showthread.php?t=228078

But essentially, since you want to put it in the SHOWTHREAD template, which of course is an existing template, you'd use vB_Template:reRegister(), like this:

Code:
vB_Template::preRegister('SHOWTHREAD', array('mrwrb_forum_large' => $mrwrb_forum_large
));

This needs to go in plugin code at some point after the value of $mrwrb_forum_large has been set.
Reply With Quote
  #8  
Old 04-06-2012, 01:46 PM
markuswarren markuswarren is offline
 
Join Date: May 2009
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you.
One assumes that as I have similar things for forum display, forumhome_forumbit_level1_post, and forumhome_forumbit_level2_post that I can simply change the SHOWTHREAD in the template register line to those names?

Sorry to take up your precious time, I really do appreciate it.
Reply With Quote
  #9  
Old 04-06-2012, 01:50 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by markuswarren View Post
Thank you.
One assumes that as I have similar things for forum display, forumhome_forumbit_level1_post, and forumhome_forumbit_level2_post that I can simply change the SHOWTHREAD in the template register line to those names?
Yes. And if you have more than one variable to register to the same template, you can add to the array and do it in one call (one per template, that is).
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:41 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04656 seconds
  • Memory Usage 2,259KB
  • Queries Executed 12 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (9)post_thanks_box
  • (9)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (9)post_thanks_postbit_info
  • (9)postbit
  • (1)postbit_attachment
  • (9)postbit_onlinestatus
  • (9)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • postbit_attachment
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete