Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
  #1  
Old 11-27-2005, 01:47 PM
tommykjensen tommykjensen is offline
 
Join Date: Nov 2005
Posts: 72
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Template conditional

I am trying to create a small plugin that add the possiblity to add a simple global annmouncement in the header of all pages.

I got everything working except for the conditional in the template.

Here is the plugin code
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>

<product productid="simpleglobalannouncement" title="Global announcement" description="Display simple global announcement in the header." version="1.0.0" active="1">
 <templates>
		<template name="simple_global_announcement" templatetype="template" date="1124952989" username="Tommy Jensen" version="1.0"><![CDATA[

<if condition="THIS_SCRIPT != 'register' AND THIS_SCRIPT != 'login'">

<if condition="$vboptions[enableglobalannouncement]">
	<!-- global announcement -->

	<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
	<thead>
	<tr>
		<td class="alt1">
			<phrase 1="$bbuserinfo[username]" 2="$vboptions[bbtitle]">$vboptions[globalannouncementtext]</phrase>
		</td>
	</tr>
	</thead>
	</table> 
	<br /> 
	<!-- / global announcement -->
</if>

	]]></template>
	</templates>
	<plugins>
		<plugin active="1">
			<title><![CDATA[Global announcement [Alteration]]]></title>
			<hookname>parse_templates</hookname>
			<phpcode><![CDATA[
				eval('$simple_global_announcement = "' . fetch_template('simple_global_announcement') . '";');
			]]></phpcode>
		</plugin>
		<plugin active="1">
			<title><![CDATA[Global announcement [Template Cache]]]></title>
			<hookname>cache_templates</hookname>
			<phpcode><![CDATA[
				$globaltemplates[] = 'simple_global_announcement';
			]]></phpcode>
		</plugin>
	</plugins>
	<phrases>
		<phrasetype name="GLOBAL" fieldname="global">
		</phrasetype>
		<phrasetype name="vBulletin Settings" fieldname="vbsettings">
			<phrase name="settinggroup_simpleglobalannouncement"><![CDATA[Simple Global announcement]]></phrase>
			<phrase name="setting_enableglobalannouncement_title"><![CDATA[Enable Simple Global announcement]]></phrase>
			<phrase name="setting_enableglobalannouncement_desc"><![CDATA[Enable Simple Global announcement]]></phrase>
			<phrase name="setting_globalannouncementtext_title"><![CDATA[Announcement]]></phrase>
			<phrase name="setting_globalannouncementtext_desc"><![CDATA[Text for announcement]]></phrase>
		</phrasetype>
	</phrases>
	
	<options>
		<settinggroup name="simpleglobalannouncement" displayorder="2000">
			<setting varname="enableglobalannouncement" displayorder="10">
				<datatype>number</datatype>
				<optioncode><![CDATA[<span class=\"smallfont\" style=\"white-space:nowrap\">
	<label for=\"qr0\"><input type=\"radio\" name=\"setting[$settingid]\" id=\"qr0\" value=\"0\" tabindex=\"1\"" . ($setting['value'] == 0 ? ' checked="checked"' : '') . " />$vbphrase[no]</label><br />
	<label for=\"qr1\"><input type=\"radio\" name=\"setting[$settingid]\" id=\"qr1\" value=\"1\" tabindex=\"1\"" . ($setting['value'] == 1 ? ' checked="checked"' : '') . " />$vbphrase[yes]</label><br />
</span>]]></optioncode>
				<defaultvalue>0</defaultvalue>
			</setting>

			<setting varname="globalannouncementtext" displayorder="20">
				<datatype>free</datatype>
				<optioncode>textarea</optioncode>
			</setting>

		</settinggroup>
	</options>
	
	
</product>
I have also tried

<if condition="$vboptions[enableglobalannouncement]==1">

but no matter what the announcement is diplayed always.

How should the conditional be ?

------------------------------

I figured it out.

I removed the conditional from the template and changed the plugin code to

Code:
if ($vbulletin->options['enableglobalannouncement'])
			{
				eval('$simple_global_announcement = "' . fetch_template('simple_global_announcement') . '";');
			}
Reply With Quote
  #2  
Old 11-27-2005, 03:46 PM
noppid noppid is offline
 
Join Date: Mar 2003
Location: Florida
Posts: 1,875
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

In your first example, you didn't close the first <if> it seems.

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>

<product productid="simpleglobalannouncement" title="Global announcement" description="Display simple global announcement in the header." version="1.0.0" active="1">
 <templates>
		<template name="simple_global_announcement" templatetype="template" date="1124952989" username="Tommy Jensen" version="1.0"><![CDATA[

<if condition="THIS_SCRIPT != 'register' AND THIS_SCRIPT != 'login'">

<if condition="$vboptions[enableglobalannouncement]">
	<!-- global announcement -->

	<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
	<thead>
	<tr>
		<td class="alt1">
			<phrase 1="$bbuserinfo[username]" 2="$vboptions[bbtitle]">$vboptions[globalannouncementtext]</phrase>
		</td>
	</tr>
	</thead>
	</table> 
	<br /> 
	<!-- / global announcement -->
</if>
</if> <!-- Close First <if> -->
	]]></template>
	</templates>
	<plugins>
		<plugin active="1">
			<title><![CDATA[Global announcement [Alteration]]]></title>
			<hookname>parse_templates</hookname>
			<phpcode><![CDATA[
				eval('$simple_global_announcement = "' . fetch_template('simple_global_announcement') . '";');
			]]></phpcode>
		</plugin>
		<plugin active="1">
			<title><![CDATA[Global announcement [Template Cache]]]></title>
			<hookname>cache_templates</hookname>
			<phpcode><![CDATA[
				$globaltemplates[] = 'simple_global_announcement';
			]]></phpcode>
		</plugin>
	</plugins>
	<phrases>
		<phrasetype name="GLOBAL" fieldname="global">
		</phrasetype>
		<phrasetype name="vBulletin Settings" fieldname="vbsettings">
			<phrase name="settinggroup_simpleglobalannouncement"><![CDATA[Simple Global announcement]]></phrase>
			<phrase name="setting_enableglobalannouncement_title"><![CDATA[Enable Simple Global announcement]]></phrase>
			<phrase name="setting_enableglobalannouncement_desc"><![CDATA[Enable Simple Global announcement]]></phrase>
			<phrase name="setting_globalannouncementtext_title"><![CDATA[Announcement]]></phrase>
			<phrase name="setting_globalannouncementtext_desc"><![CDATA[Text for announcement]]></phrase>
		</phrasetype>
	</phrases>
	
	<options>
		<settinggroup name="simpleglobalannouncement" displayorder="2000">
			<setting varname="enableglobalannouncement" displayorder="10">
				<datatype>number</datatype>
				<optioncode><![CDATA[<span class=\"smallfont\" style=\"white-space:nowrap\">
	<label for=\"qr0\"><input type=\"radio\" name=\"setting[$settingid]\" id=\"qr0\" value=\"0\" tabindex=\"1\"" . ($setting['value'] == 0 ? ' checked="checked"' : '') . " />$vbphrase[no]</label><br />
	<label for=\"qr1\"><input type=\"radio\" name=\"setting[$settingid]\" id=\"qr1\" value=\"1\" tabindex=\"1\"" . ($setting['value'] == 1 ? ' checked="checked"' : '') . " />$vbphrase[yes]</label><br />
</span>]]></optioncode>
				<defaultvalue>0</defaultvalue>
			</setting>

			<setting varname="globalannouncementtext" displayorder="20">
				<datatype>free</datatype>
				<optioncode>textarea</optioncode>
			</setting>

		</settinggroup>
	</options>
	
	
</product>
Reply With Quote
  #3  
Old 11-27-2005, 08:56 PM
merk merk is offline
 
Join Date: Nov 2001
Location: Canberra, Australia
Posts: 601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You should also try to use {$vbulletin->options['optionname']} instead of $vboptions
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 11:52 AM.


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.04181 seconds
  • Memory Usage 2,198KB
  • Queries Executed 13 (?)
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
  • (3)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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_postinfo_query
  • fetch_postinfo
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete