Page 1 of 1
Pagine personalizzate per l'utente
Posted: Sun Jul 20, 2008 2:06 pm
by protempore
ok... ho usato "Custom Content" e la cosa è semplice e perfetta...
solo che adesso io vorrei poter togliere da menu i riferimenti alle pagine a cui l'utente non può accedere senza dover necessariamente vedersi restituito il messaggio: "non hai i permessi per accedere..."
Ora, io ho messo "priv_" come prefisso delle pagine visibili solo con "login"... con un "excludeprefix" le tolgo dalla visione pubblica... ma come faccio, dopo il login dell'utente, a fargli vedere le pagine del gruppo X a cui l'utente appartiene e non quelle del gruppo Y a cui l'utente non appartiene?
grazie
Re: Pagine personalizzate per l'utente
Posted: Sun Jul 20, 2008 5:47 pm
by alby
protempore wrote:
ok... ho usato "Custom Content" e la cosa è semplice e perfetta...
solo che adesso io vorrei poter togliere da menu i riferimenti alle pagine a cui l'utente non può accedere senza dover necessariamente vedersi restituito il messaggio: "non hai i permessi per accedere..."
Ora, io ho messo "priv_" come prefisso delle pagine visibili solo con "login"... con un "excludeprefix" le tolgo dalla visione pubblica... ma come faccio, dopo il login dell'utente, a fargli vedere le pagine del gruppo X a cui l'utente appartiene e non quelle del gruppo Y a cui l'utente non appartiene?
Da inserire la corretta sintassi (che non posso controllare dalle vacanze!) con menu con priv_x_nome e priv_y_nome
{if $customcontent_x}
{menu ecludeprefix=priv_y_}
{elseif $customcontent_y}
{menu ecludeprefix=priv_x_}
{else}
{menu ecludeprefix=priv_}
{/if}
Alby
Re: Pagine personalizzate per l'utente
Posted: Mon Jul 21, 2008 6:57 am
by protempore
alby wrote:
Da inserire la corretta sintassi (che non posso controllare dalle vacanze!) con menu con priv_x_nome e priv_y_nome
{if $customcontent_x}
{menu ecludeprefix=priv_y_}
{elseif $customcontent_y}
{menu ecludeprefix=priv_x_}
{else}
{menu ecludeprefix=priv_}
{/if}
Alby
grazie Alby,
ma mi sono accorto che non mi basta... nel senso che l'utente, nel mio caso, può appartenere a più di un gruppo e quindi deve poter accedere a menu composti in modo più complesso...
Ho risolto... credo... modificando così il template del menu:
Code: Select all
{if $count > 0}
<div id="menuwrapper">
<ul id="primary-nav">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string="<ul>" times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string="</li></ul>" times=$node->prevdepth-$node->depth}</li>
{elseif $node->index > 0}</li>
{/if}
{if $node->alias|truncate:11:"":true!='priv_infer_' and
$node->alias|truncate:11:"":true!='priv_fisio_' and
$node->alias|truncate:11:"":true!='priv_turis_' and
$node->alias|truncate:11:"":true!='priv_infor_' and
$node->alias|truncate:11:"":true!='priv_elett_'}
{if $node->parent == true or ($node->current == true and $node->haschildren == true)}
<li class="menuactive menuparent"><a class="menuactive menuparent"
{elseif $node->current == true}
<li class="menuactive"><a class="menuactive"
{elseif $node->haschildren == true}
<li class="menuparent"><a class="menuparent"
{elseif $node->type == 'sectionheader'}
<li class="sectionheader"><span> {$node->menutext} </span>
{elseif $node->type == 'separator'}
<li style="list-style-type: none;"> <hr class="separator" />
{else}
<li><a
{/if}
{if $node->type != 'sectionheader' and $node->type != 'separator'}href="{$node->url}"
{if $node->accesskey != ''}accesskey="{$node->accesskey}" {/if}
{if $node->tabindex != ''}tabindex="{$node->tabindex}" {/if}
{if $node->titleattribute != ''}title="{$node->titleattribute}"{/if}
{if $node->target ne ""} target="{$node->target}"{/if}>
<dfn>{$node->hierarchy}: </dfn>{$node->menutext}</a>
{elseif $node->type == 'sectionheader'}
><dfn>{$node->hierarchy}: </dfn>{$node->menutext}</a>
{/if}
{else}
{foreach from=$ccuser->groups() item=area}
{if $area=='Infermieristica' and $node->alias|truncate:11:"":true=='priv_infer_'}
{if $node->parent == true or ($node->current == true and $node->haschildren == true)}
<li class="menuactive menuparent"><a class="menuactive menuparent"
{elseif $node->current == true}
<li class="menuactive"><a class="menuactive"
{elseif $node->haschildren == true}
<li class="menuparent"><a class="menuparent"
{elseif $node->type == 'sectionheader'}
<li class="sectionheader"><span> {$node->menutext} </span>
{elseif $node->type == 'separator'}
<li style="list-style-type: none;"> <hr class="separator" />
{else}
<li><a
{/if}
{if $node->type != 'sectionheader' and $node->type != 'separator'}href="{$node->url}"
{if $node->accesskey != ''}accesskey="{$node->accesskey}" {/if}
{if $node->tabindex != ''}tabindex="{$node->tabindex}" {/if}
{if $node->titleattribute != ''}title="{$node->titleattribute}"{/if}
{if $node->target ne ""} target="{$node->target}"{/if}>
<dfn>{$node->hierarchy}: </dfn>{$node->menutext}</a>
{elseif $node->type == 'sectionheader'}
><dfn>{$node->hierarchy}: </dfn>{$node->menutext}</a>
{/if}
{elseif $area=='Fisioterapia' and $node->alias|truncate:11:"":true=='priv_fisio_'}
{if $node->parent == true or ($node->current == true and $node->haschildren == true)}
<li class="menuactive menuparent"><a class="menuactive menuparent"
{elseif $node->current == true}
<li class="menuactive"><a class="menuactive"
{elseif $node->haschildren == true}
<li class="menuparent"><a class="menuparent"
{elseif $node->type == 'sectionheader'}
<li class="sectionheader"><span> {$node->menutext} </span>
{elseif $node->type == 'separator'}
<li style="list-style-type: none;"> <hr class="separator" />
{else}
<li><a
{/if}
{if $node->type != 'sectionheader' and $node->type != 'separator'}href="{$node->url}"
{if $node->accesskey != ''}accesskey="{$node->accesskey}" {/if}
{if $node->tabindex != ''}tabindex="{$node->tabindex}" {/if}
{if $node->titleattribute != ''}title="{$node->titleattribute}"{/if}
{if $node->target ne ""} target="{$node->target}"{/if}>
<dfn>{$node->hierarchy}: </dfn>{$node->menutext}</a>
{elseif $node->type == 'sectionheader'}
><dfn>{$node->hierarchy}: </dfn>{$node->menutext}</a>
{/if}
{elseif $area=='Turismo' and $node->alias|truncate:11:"":true=='priv_turis_'}
{if $node->parent == true or ($node->current == true and $node->haschildren == true)}
<li class="menuactive menuparent"><a class="menuactive menuparent"
{elseif $node->current == true}
<li class="menuactive"><a class="menuactive"
{elseif $node->haschildren == true}
<li class="menuparent"><a class="menuparent"
{elseif $node->type == 'sectionheader'}
<li class="sectionheader"><span> {$node->menutext} </span>
{elseif $node->type == 'separator'}
<li style="list-style-type: none;"> <hr class="separator" />
{else}
<li><a
{/if}
{if $node->type != 'sectionheader' and $node->type != 'separator'}href="{$node->url}"
{if $node->accesskey != ''}accesskey="{$node->accesskey}" {/if}
{if $node->tabindex != ''}tabindex="{$node->tabindex}" {/if}
{if $node->titleattribute != ''}title="{$node->titleattribute}"{/if}
{if $node->target ne ""} target="{$node->target}"{/if}>
<dfn>{$node->hierarchy}: </dfn>{$node->menutext}</a>
{elseif $node->type == 'sectionheader'}
><dfn>{$node->hierarchy}: </dfn>{$node->menutext}</a>
{/if}
{elseif $area=='Elettronica' and $node->alias|truncate:11:"":true=='priv_elett_'}
{if $node->parent == true or ($node->current == true and $node->haschildren == true)}
<li class="menuactive menuparent"><a class="menuactive menuparent"
{elseif $node->current == true}
<li class="menuactive"><a class="menuactive"
{elseif $node->haschildren == true}
<li class="menuparent"><a class="menuparent"
{elseif $node->type == 'sectionheader'}
<li class="sectionheader"><span> {$node->menutext} </span>
{elseif $node->type == 'separator'}
<li style="list-style-type: none;"> <hr class="separator" />
{else}
<li><a
{/if}
{if $node->type != 'sectionheader' and $node->type != 'separator'}href="{$node->url}"
{if $node->accesskey != ''}accesskey="{$node->accesskey}" {/if}
{if $node->tabindex != ''}tabindex="{$node->tabindex}" {/if}
{if $node->titleattribute != ''}title="{$node->titleattribute}"{/if}
{if $node->target ne ""} target="{$node->target}"{/if}>
<dfn>{$node->hierarchy}: </dfn>{$node->menutext}</a>
{elseif $node->type == 'sectionheader'}
><dfn>{$node->hierarchy}: </dfn>{$node->menutext}</a>
{/if}
{elseif $area=='Informatica' and $node->alias|truncate:11:"":true=='priv_infor_'}
{if $node->parent == true or ($node->current == true and $node->haschildren == true)}
<li class="menuactive menuparent"><a class="menuactive menuparent"
{elseif $node->current == true}
<li class="menuactive"><a class="menuactive"
{elseif $node->haschildren == true}
<li class="menuparent"><a class="menuparent"
{elseif $node->type == 'sectionheader'}
<li class="sectionheader"><span> {$node->menutext} </span>
{elseif $node->type == 'separator'}
<li style="list-style-type: none;"> <hr class="separator" />
{else}
<li><a
{/if}
{if $node->type != 'sectionheader' and $node->type != 'separator'}href="{$node->url}"
{if $node->accesskey != ''}accesskey="{$node->accesskey}" {/if}
{if $node->tabindex != ''}tabindex="{$node->tabindex}" {/if}
{if $node->titleattribute != ''}title="{$node->titleattribute}"{/if}
{if $node->target ne ""} target="{$node->target}"{/if}>
<dfn>{$node->hierarchy}: </dfn>{$node->menutext}</a>
{elseif $node->type == 'sectionheader'}
><dfn>{$node->hierarchy}: </dfn>{$node->menutext}</a>
{/if}
{/if}
{/foreach}
{/if}
{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li></ul>
<div class="clearb"></div>
</div>
{/if}
praticamente funziona, ma la domanda è: “ho fatto un'accrocchio che poteva essere evitato"?
