The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
How can I define a vb:raw?
Hello,
I have a custom page and it is currently using this "{vb:raw navbar}" to display the navbar. This is working properly. I have created a new navbar template called navbar2. When I use "{vb:raw navbar2}" it does not display. It has the same effect as if it were removed completely. How can I define/match navbar2 template with {vb:raw navbar2}. |
#2
|
||||
|
||||
Why don't you just force your custom page to use a new skin with a modified navbar?
|
#3
|
||||
|
||||
Variables need to be registered for use in templates. $navbar2 hasn't been registered, therefore there is no output. Cellarius wrote a really good article that you may be interested in - [vB4] Rendering templates and registering variables - a short guide
|
#4
|
|||
|
|||
Thank you for the replies. My custom file has this at the bottom:
$templater = vB_Template::create('ncsu'); $templater->register_page_templates(); $templater->register('navbar', $navbar); $templater->register('navbar2', $navbar2); $templater->register('pagetitle', $pagetitle); print_output($templater->render()); And it is still not recognizing {vb:raw navbar2} |
#5
|
||||
|
||||
And where is navbar2 defined relative to that code? You really need to post all your code along with templates and hook names, etc in order for us to see what is wrong.
|
#6
|
|||
|
|||
Thank you so much for helping me out lynn. Here are all of the files im referring to:
navbar2 (template) in the Default Style Code:
<div id="navbar" class="navbar"> <ul id="navtabs" class="navtabs"> {vb:raw template_hook.navtab_start} <vb:if condition="THIS_SCRIPT == 'home'"> <li class="selected"><a class="navtab" href="http://mydomain.com/">Home</a</li> <vb:else /> <li><a class="navtab" href="http://mydomain.com">Home</a></li> </vb:if> {vb:raw template_hook.navtab_middle} <vb:if condition="THIS_SCRIPT == 'about'"> <li class="selected"><a class="navtab" href="http://mydomain/about/">About</a</li> <vb:else /> <li><a class="navtab" href="http://mydomain.com/about/">About</a></li> </vb:if> <vb:if condition="THIS_SCRIPT == 'members'"> <li class="selected"><a class="navtab" href="http://mydomain.com/members/">Members</a</li> <vb:else /> <li><a class="navtab" href="http://mydomain.com/members/">Members</a></li> </vb:if> <vb:if condition="THIS_SCRIPT == 'rules'"> <li class="selected"><a class="navtab" href="http://mydomain.com/rules/">Rules</a</li> <vb:else /> <li><a class="navtab" href="http://mydomain/rules/">Rules</a></li> </vb:if> <vb:if condition="THIS_SCRIPT == 'privacy'"> <li class="selected"><a class="navtab" href="http://mydomain.com/privacy/">Privacy</a</li> <vb:else /> <li><a class="navtab" href="http://mydomain.com/privacy/">Privacy</a></li> </vb:if> <vb:if condition="THIS_SCRIPT == 'contact'"> <li class="selected"><a class="navtab" href="http://mydomain.com/contact/">Contact</a</li> <vb:else /> <li><a class="navtab" href="http://mydomain.com/contact/">Contact</a></li> </vb:if> {vb:raw template_hook.navtab_end} </ul> </div> </div><!-- closing div for above_body --> <div class="body_wrapper"> <div id="breadcrumb" class="breadcrumb"> <ul class="floatcontainer"> <li class="navbithome"><a href="http://mydomain.com/"><img src="{vb:stylevar imgdir_misc}/navbit-home.png" alt="{vb:rawphrase home}" /></a></li> {vb:raw navbits.breadcrumb} {vb:raw navbits.lastelement} </ul> <hr /> </div> {vb:raw ad_location.ad_navbar_below} {vb:raw ad_location.global_below_navbar} <vb:if condition="$show['notices'] AND THIS_SCRIPT != 'register'"> <form action="profile.php?do=dismissnotice" method="post" id="notices" class="notices"> <input type="hidden" name="do" value="dismissnotice" /> <input type="hidden" name="s" value="{vb:raw session.sessionurl}" /> <input type="hidden" name="securitytoken" value="{vb:raw bbuserinfo.securitytoken}" /> <input type="hidden" id="dismiss_notice_hidden" name="dismiss_noticeid" value="" /> <input type="hidden" name="url" value="{vb:raw return_link}" /> <ol> {vb:raw notices} </ol> </form> </vb:if> The {vb:raw navbar2} I want to display the navbar2 listed above Code:
{vb:stylevar htmldoctype} <html xmlns="http://www.w3.org/1999/xhtml" dir="{vb:stylevar textdirection}" lang="{vb:stylevar languagecode}" id="vbulletin_html"> <head> <title>{vb:raw vboptions.bbtitle} - {vb:raw pagetitle}</title> {vb:raw headinclude} {vb:raw headinclude_bottom} </head> <body> {vb:raw header} {vb:raw navbar2} {vb:raw ncsu} {vb:raw footer} </body> </html> Notice I tried to register the navbar2 style but ultimately failed. Code:
<?php // ####################### SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); // #################### DEFINE IMPORTANT CONSTANTS ####################### define('THIS_SCRIPT', 'ncsu'); define('CSRF_PROTECTION', true); // change this depending on your filename // ################### PRE-CACHE TEMPLATES AND DATA ###################### // get special phrase groups $phrasegroups = array(); // get special data templates from the datastore $specialtemplates = array(); // pre-cache templates used by all actions $globaltemplates = array('ncsu', ); // pre-cache templates used by specific actions $actiontemplates = array(); // ######################### REQUIRE BACK-END ############################ // if your page is outside of your normal vb forums directory, you should change directories by uncommenting the next line chdir ('/home/college/public_html'); require_once('./global.php'); // ####################################################################### // ######################## START MAIN SCRIPT ############################ // ####################################################################### $navbits = construct_navbits(array('' => 'NCSU')); $navbar = render_navbar_template($navbits); // ###### YOUR CUSTOM CODE GOES HERE ##### $pagetitle = 'NCSU'; // ###### NOW YOUR TEMPLATE IS BEING RENDERED ###### $templater = vB_Template::create('ncsu'); $templater->register_page_templates(); $templater->register('navbar', $navbar); $templater->register('navbar2', $navbar2); $templater->register('pagetitle', $pagetitle); print_output($templater->render()); ?> |
#7
|
||||
|
||||
But you never did anything to create navbar2. You never define it or anything. You need to write some code to spit it all out into a variable called $navbar2.
|
#8
|
|||
|
|||
Ahh okay, do I define it in the ncsu.php file? I looked and navbar has:
$navbar = render_navbar_template($navbits); so, I tried using $navbar2 = render_navbar2_template; but it didn't work :/ |
#9
|
||||
|
||||
Did you try looking up that function? It's in the functions.php file. It renders the navbar template. If you want to render the template navbar2, you should probably copy that function, only call it something different, and render the navbar2 template.
|
#10
|
|||
|
|||
Thanks for the response Lynn. In the functions.php file all I can find is:
Code:
$navbits = construct_navbits(array('' => $vbphrase['vbulletin_message'])); $navbar = render_navbar_template($navbits); Code:
$navbits = $navbar = ''; Code:
function render_navbar_template($navbits) |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|