nel caso possa servire a qualcuno vi posto brevemente come far ereditare il valore di alcuni campi alle pagine figlie.
PROBLEMA: ho una testata grafica caricata come immagine di sfondo dell'header della sezione in cui mi trovo
una cosa del genere:
Code: Select all
{content_image block='testata' assign='testata'}
<div id="header" style="background-image:url({$testata})">
{cms_selflink page='home' text="$sitename" title ="Torna all'Homepage"}
</div>
Per recuperare nei figli questo parametro dovrò installare due plugin: content_dump e il buon vecchio section_title. Quest'ultimo non supporta il parametro assign quindi l'ho leggermente modificato.
Nei template delle pagine figlie scriverò una cosa del genere:
Code: Select all
{sectiontitle levels=2 assign='sezione'}
{content_dump extensions="testata" assign="dumpTestata"}
{foreach from=$dumpTestata item=dumpTestata}
{if $dumpTestata->content->alias == $sezione}
{assign var='testata' value=$dumpTestata->extensions->testata->data}
{/if}
{/foreach}
<div id="header" style="background-image:url({$testata});">
{cms_selflink page='home' text="$sitename" title ="Torna all'Homepage"}
</div>
Per renderlo disponibile ho aggiunto questo nel plugin (riga 70):
Code: Select all
$sezione = "${imSpec}";
if( isset($params['assign']) )
{
$smarty =& $gCms->GetSmarty();
$smarty->assign($params['assign'],$sezione);
return;
}
else {
echo $sezione;
}
Probabilmente è possibile fare fare tutto con content_dump ma non ho trovato una soluzione per ottenere l'id della pagina ad una data gerachia rispetto alla pagina che lo richiede. Se qualcuno ho un idea più elegante sarebbe interessante svilupparla.
Altro limite: al momento uso 2 template differenti, un miglioramento sarebbe quello di utilizzare il medesimo template e controllare in quali livello si trovi la pagina per decidere cosa stampare (con la possibilità magari di usare il parametro di sezione in mancanza di un parametro di pagina)
PROPOSTA: sarebbe interessante raccogliere una lista di snippet anche in italiano!
