Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 General Discussions

Reply
 
Thread Tools Display Modes
  #1  
Old 10-25-2010, 12:08 AM
Duncan Duncan is offline
 
Join Date: Oct 2004
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 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}.
Reply With Quote
  #2  
Old 10-25-2010, 01:28 AM
midnz's Avatar
midnz midnz is offline
 
Join Date: Jul 2010
Location: New Zealand
Posts: 201
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Why don't you just force your custom page to use a new skin with a modified navbar?
Reply With Quote
  #3  
Old 10-25-2010, 03:22 AM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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
Reply With Quote
  #4  
Old 10-25-2010, 05:17 AM
Duncan Duncan is offline
 
Join Date: Oct 2004
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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}
Reply With Quote
  #5  
Old 10-25-2010, 02:48 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #6  
Old 10-26-2010, 08:01 PM
Duncan Duncan is offline
 
Join Date: Oct 2004
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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>
ncsu (template) in the Default Style

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>
ncsu.php file

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());

?>
Reply With Quote
  #7  
Old 10-27-2010, 04:20 AM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #8  
Old 10-27-2010, 10:44 PM
Duncan Duncan is offline
 
Join Date: Oct 2004
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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 :/
Reply With Quote
  #9  
Old 10-28-2010, 01:29 AM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #10  
Old 10-29-2010, 01:07 AM
Duncan Duncan is offline
 
Join Date: Oct 2004
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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);
and this

Code:
	$navbits = $navbar = '';
and this

Code:
function render_navbar_template($navbits)
Sorry for being such a hassle, just trying to figure it out. But all I want to do is make my navbar2 template display using navbar2 variable not insert navbits, etc. (or do i?)
Reply With Quote
Reply

Thread Tools
Display Modes

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 04:07 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.10146 seconds
  • Memory Usage 2,255KB
  • Queries Executed 11 (?)
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
  • (6)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete