Page 1 of 1
wie übergebe ich Seitentitel an UdT?
Posted: Mon Mar 22, 2010 8:01 am
by gardapro
Ich möchte den jeweiligen Seitentitel als Variable an ein phpscript in einem benutzerdefinierten Tag übergeben. Habe bis jetzt aber noch keine Lösung gefunden. Kann mit jemand helfen?
Re: wie übergebe ich Seitentitel an UdT?
Posted: Mon Mar 22, 2010 11:09 am
by gardapro
Habe die Lösung gefunden:
Eintrag im UdT:
global $gCms;
$smarty = &$gCms->GetSmarty();
$smarty_data = "{title}";
$smarty->_compile_source('temporary template', $smarty_data, $_compiled );
@ob_start();
$smarty->_eval('?>' . $_compiled);
$_contents = @ob_get_contents();
@ob_end_clean();
Re: wie übergebe ich Seitentitel an UdT?
Posted: Mon Mar 22, 2010 12:24 pm
by NaN
OMG!
Das geht doch auch viel einfacher
Im Template:
Code: Select all
{capture assign="title"}{title}{/capture}
{DEIN_UDT title=$title}
oder
Code: Select all
{DEIN_UDT title=$content_obj->mName}
Und im UDT dann einfach:
also alle Parameter, die Du Deinem UDT übergibst, können im UDT über ein Array namens
$params['PARAMETER NAME'] erreicht werden.
Da ist nix mit kompilieren
Oder ganz einfach, ohne capture, assign oder irgendwelche Parameter:
Template:
und im UDT:
Code: Select all
global $gCms;
$title = $gCms->smarty->_tpl_vars['content_obj']->mName;
CMSms verbraucht nich umsonst so viel RAM

So muss man nicht ständig irgendwas neu berechnen lassen oder auf die DB zugreifen.
Ist fast alles was irgendwie wichtig sein könnte (und eigentlich noch viel mehr ::) ) im $gCms Objekt gespeichert.
Man muss nur wissen wie man da ran kommt

Re: wie übergebe ich Seitentitel an UdT?
Posted: Tue Mar 23, 2010 7:24 am
by cyberman