wie übergebe ich Seitentitel an UdT?
wie übergebe ich Seitentitel an UdT?
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?
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();
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?
OMG!
Das geht doch auch viel einfacher
Im Template:
oder
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:
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
Das geht doch auch viel einfacher
Im Template:
Code: Select all
{capture assign="title"}{title}{/capture}
{DEIN_UDT title=$title}
Code: Select all
{DEIN_UDT title=$content_obj->mName}
Code: Select all
if (isset($params['title'])
...
Da ist nix mit kompilieren
Oder ganz einfach, ohne capture, assign oder irgendwelche Parameter:
Template:
Code: Select all
{DEIN_UDT}
Code: Select all
global $gCms;
$title = $gCms->smarty->_tpl_vars['content_obj']->mName;
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