Verification d'identification

Vous devez être connecté pour utiliser le forum. Vous pouvez le faire ici.

Auteur Message

Ange-Louis Toma

Mercredi 28 Mars 2007 5:48:25 pm

Verification d'identification

Voila je voudrais pouvoir mettre des boutons d'editions sur ma partie public du site.
Ces boutons n'apparaitrons que si l'admin est loggé sur le site.

On peut voir sur cette page, http://ez.no/doc/ez_publish/techn...es/user/fetch_functions/is_logged_in
comment faire pour voir si l'admin est loggé

Je met donc dans mon code (page_layout.tpl) :

{if $current_user.is_logged_in }
<div align="right"><a href={"/user/logout"|ezurl}>se déconnecter</a></div>
{else}
<div align="right"><a href={"/user/login"|ezurl}>se logger</a></div>
{/if}

<div id="menug">{include uri="design:menu_gauche.tpl"}</div>
<div id="menud"> Dernieres news:<br /> {include uri="design:menu_droite.tpl"}</div>
<div id="corps">{include uri="design:page_mainarea.tpl"} <br/>

{def $test=fetch( 'user', 'is_logged_in', hash( 'user_id', 14 ) )}
{if $test}
Admin is currently logged in.
{else}
Admin is not logged in.
{/if}
C'est un bete copier collé de la doc. Sauf que mon resultat est toujour le meme :
Admin is currently logged in.

Inutile de vous dire que vider les caches c'est ma grande passion.
Bref comment faire pour voir les conditions de test rescpecté si je me logge ou delogge a volontée???
Avez vous une idée?

Merci !

Sylvain Guittard

Mercredi 28 Mars 2007 6:29:49 pm

Re: Verification d'identification

Salut,

J'ai regardé ton code, et je ne vois pas de soucis. Quelle version eZ Publish utilises-tu?

En contrepartie, je te propose mon code, qui génère une liste déroulante des objets que l'utilisateur peut créer. Cela dépend des droits définis.

{* Authorisation création ? *}
	{section show=count($node.object.can_create_class_list)}
	<form method="post" action={"/content/action"|ezurl}>
	<input type="hidden" name="NodeID" value="{$node.node_id}" />
	<select name="ClassID">
		{section var=class loop=$node.object.can_create_class_list}
		<option value="{$class.id}">{$class.name|wash}</option>
		{/section}
        </select>
	<input type="submit" name="NewButton" value="{'Create here'|i18n('design/standard/node/view')}" />
	</form>
	{section-else}
	Pour ajouter un article, <a href={"/user/login"|ezurl()}>identifiez-vous </a>
	{/section}


En espérant que cela t'aide à avancer.

Bon courage,
Sylvain


Ange-Louis Toma

Jeudi 29 Mars 2007 4:11:10 pm

Re: Verification d'identification

J'utilise EzPublish v3.9.1.
En fait le probleme viens qu'il ne faut pas utiliser ce genre de fetch directement dans le pagelayout.

Pour passer outre cette contrainte il suffit de faire une surcharge de template dans un ID de noeud, template contenant les conditions du post precedent.

Autre chose, il ne faut surtout (mais alors surtout pas) utiliser la variable $node dans le pagelayout. Ca marche pas et puis c'est tout , il faut pas.
De meme, faire dans le pagelayout un include de template qui utilise $node reviens a faire comme si tout se passait dans le template !

Plus serieusement, si vous voulez vous servir de la vadriable $node (qui est bien pratique j'avoue) il faut l'utiliser dans une !!!"SURCHARGE"!!! de template. Si vous n'etiez pas au courant et que vous lisez ces lignes, alors remerciez moi de vous avoir fait economiser 1mois de reflexion dans votre vie. :p

A bon entendeur, salut !

J-A Eberhard

Jeudi 29 Mars 2007 11:26:41 pm

Re: Verification d'identification

Si tu utilise la version 3.9.x je te recommande l'extension ezwebin. Elle comporte une toolbar qui va te permettre d'avoir dynamiquement les boutons correspondant à tes droits d'édition.

eZ publish™ copyright © 1999-2008 eZ systems as