Page 1 of 1

PHP in sjabloon

Posted: Fri Apr 16, 2010 11:30 am
by sk33l0
Ik heb een php code die ik in het sjabloon wil zetten. Kan dit? Ik krijg nu namelijk een smarty error als ik dit in het sjabloon zet:

Code: Select all

<? if ($_GET[commercial] == 'active') { ?>
    <div id="commercial" style="top:0px; left:200px;">
    <object width="700" height="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7346358&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=00ADEF&fullscreen=1&autoplay=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7346358&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=00ADEF&fullscreen=1&autoplay=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="700" height="400"></embed></object>  
    </div>  
    <? } 
	else { ?>
    <div id="links" style="top:138px; left:556px;">
    <a href="links.php?commercial=active"><img src="clear.gif" border="0" height="127" width="345" /></a>
    </div>
	<? } ?>

Re: PHP in sjabloon

Posted: Fri Apr 16, 2010 11:37 am
by Jos
php code kan alleen in een Gebruikers Gedefiniëerde Tag (UDT). De UDT kun je vervolgens in je sjabloon aanroepen.

Volgens mij moet het wel eenvoudig om te zetten zijn naar Smarty code, dan kan het wel in een sjabloon. Als je een moment hebt dan zoek ik het even voor je op  8)

Re: PHP in sjabloon

Posted: Fri Apr 16, 2010 11:43 am
by Jos
Ik vraag me af of CMSms afwijkende GET parameters slikt, of dat deze uit veiligheidsoverwegingen weggefilterd worden.

Het opvragen van een GET variabele in een sjabloon gaat volgens Smarty in ieder geval met {$smarty.get.NaamVariabele}
http://www.smarty.net/manual/en/languag ... smarty.php

Dus in jouw geval zou je eens kunnen proberen:

Code: Select all

{if $smarty.get.commercial == 'active'}
    <div id="commercial" style="top:0px; left:200px;">
    <object width="700" height="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7346358&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=00ADEF&fullscreen=1&autoplay=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7346358&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=00ADEF&fullscreen=1&autoplay=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="700" height="400"></embed></object>  
    </div>  
{else}
    <div id="links" style="top:138px; left:556px;">
    <a href="links.php?commercial=active"><img src="clear.gif" border="0" height="127" width="345" /></a>
    </div>
{/if}

Re: PHP in sjabloon

Posted: Fri Apr 16, 2010 11:49 am
by sk33l0
Kerel jij bent echt brilliant. Het werkt nu feiloos. thnx

Nu heb ik hetzelfde gedoe met onderstaande code hoe zou die er dan uit moeten komen te zien?

Code: Select all

<div id="bckmain_img" style="background-image:url(images/bckmainimgs/<? if ($_GET[pic] != "") { echo $_GET[pic]; } else { ?>bckpic_brilmode_kids1.jpg <? } ?>)">

    <div id="picbar" style="background-image:url(images/picbar_brilmode_kids.jpg)">
    	<div id="pic1"><a href="?pic=bckpic_brilmode_kids1.jpg"><img src="clear.gif" width="168" height="90" border="0" /></a></div>
      	<div id="pic2"><a href="?pic=bckpic_brilmode_kids2.jpg"><img src="clear.gif" width="168" height="90" border="0" /></a></div>
      	<div id="pic3"><a href="?pic=bckpic_brilmode_kids3.jpg"><img src="clear.gif" width="168" height="90" border="0" /></a></div>
        <div id="pic4"><a href="?pic=bckpic_brilmode_kids4.jpg"><img src="clear.gif" width="168" height="90" border="0" /></a></div>
    </div>
Ik dacht in de richting van

Code: Select all

 {if $smarty.get.pic =""}{echo}$smarty.get.pic{else}bckpic_brilmode_kids1.jpg{/if}

Re: PHP in sjabloon

Posted: Fri Apr 16, 2010 12:02 pm
by Jos
sk33l0 wrote: Kerel jij bent echt brilliant. Het werkt nu feiloos. thnx
Altijd fijn te horen... er mag geapplaudiseerd worden  8)  
(zie onderaan: http://forum.cmsmadesimple.org/index.php/topic,40709.0.html)


Zo ingewikkeld is het toch niet om zelf te bedenken?

Code: Select all

<div id="bckmain_img" style="background-image:url(images/bckmainimgs/{if !empty($smarty.get.pic)}{$smarty.get.pic}{else}bckpic_brilmode_kids1.jpg{/if})">