vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=251)
-   -   How can I define a vb:raw? (https://vborg.vbsupport.ru/showthread.php?t=252562)

Duncan 10-25-2010 12:08 AM

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}.

midnz 10-25-2010 01:28 AM

Why don't you just force your custom page to use a new skin with a modified navbar?

Lynne 10-25-2010 03:22 AM

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

Duncan 10-25-2010 05:17 AM

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}

Lynne 10-25-2010 02:48 PM

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.

Duncan 10-26-2010 08:01 PM

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

?>


Lynne 10-27-2010 04:20 AM

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.

Duncan 10-27-2010 10:44 PM

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 :/

Lynne 10-28-2010 01:29 AM

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.

Duncan 10-29-2010 01:07 AM

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?)


All times are GMT. The time now is 02:18 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.01041 seconds
  • Memory Usage 1,760KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (6)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete