PDA

View Full Version : Trying to exclude a template using This Script but I keep getting errors


Scalemotorcars
02-24-2019, 02:27 AM
Ive read the posts and tried several ways but all keep giving me errors. Im using 4.2 on a php5 server. Any help would be great. Thanks.

All Im trying to do is exclude a template from one specific page using the "This Script" from that page.

<if condition="THIS_SCRIPT != 'model_paint_database'">
stuff to show on all pages except model_paint_database page
</if>

This is the error I get while attempting the template change.
The following error occurred when attempting to evaluate this template:
%1$s
This is likely caused by a malformed conditional statement. It is highly recommended that you fix this error before continuing, but you may continue as-is if you wish.

This is the warning that is displayed at the top of the page.
Warning: Invalid argument supplied for foreach() in ..../includes/functions.php on line 3822

--------------- Added 1550982733 at 1550982733 ---------------

Actually, I just noticed something and I need to exclude it from 2 pages. It runs a JS that conflicts with those 2 pages.

Thanks again.

MarkFL
02-24-2019, 02:36 AM
It looks like you're using vB 3.x template logic. :)

Scalemotorcars
02-24-2019, 02:44 AM
I followed directions for VB4 but you may be right. :rolleyes:

The plugin for the template is

$templater = vB_Template::create('quickcalc');
$templatevalues['quickcalc'] = $templater->render();
vB_Template::preRegister('quickcalc', $templatevalues);

$templater = vB_Template::create('footer');
$templatevalues['footer'] = $templater->render();
vB_Template::preRegister('footer', $templatevalues);

On the footer template, I have the standard vb:raw

{vb:raw quickcalc}

And the template is cached

So, any ideas on how to exclude this template from just 2 pages?

MarkFL
02-24-2019, 02:48 AM
What I mean is you want to use the following format within the template:

<vb:if condition="THIS_SCRIPT != 'model_paint_database'">
stuff to show on all pages except model_paint_database page
</vb:if>

Scalemotorcars
02-24-2019, 02:54 AM
Good lord, how did I not see that? Works perfectly on the one page.

Any clue how to exclude on two pages? You know This Script and This Script. I cant find how to do this.

And thanks for the help....

--------------- Added 1550986504 at 1550986504 ---------------

Nevermind I just hardcoded the 2nd page to exclude that template. Its not ideal but it works.

MarkFL
02-24-2019, 05:05 AM
If you want to exclude multiple scripts, I would use for the condition:

!in_array(THIS_SCRIPT, array(script1, script2, ...))