Profette Posted May 19, 2014 Share Posted May 19, 2014 Bonsoir ! J'avais un gros souci avec mon template que j'espère être occupé à solutionner en utilisant cette méthode: {hook h ='displayUnTruc'} Cependant, question... J'avais dans mon header.tpl (par exemple), des {if isset($HOOK_UN_TRUC) && $HOOK_UN_TRUC} <section id="un_truc"> <div class="container"> <div class="row"> <div class="spanzani"> {$HOOK_UN_TRUC} </div> </div> </div> </section> {/if} Que j'ai donc remplacé par <section id="un_truc"> <div class="container"> <div class="row"> <div class="spanzani"> {hook h='displayUnTruc'} </div> </div> </div> </section> Ma question est : Est-ce encore nécessaire de mettre un "if" et si oui, comment le faire ??? Merci ! Link to comment Share on other sites More sharing options...
J. Danse Posted May 19, 2014 Share Posted May 19, 2014 Bonsoir, Cela ne me semble plus nécessaire. La seule chose, c'est que si aucun module n'est greffé au hook en question, le retour est vide. Ce qui vous fait une div.spanzani vide, simplement. Mais cela ne provoquera pas d'erreur, comme auparavant, ne s’agissant pas d'une variable qui pourrait ne pas exister ;-) Link to comment Share on other sites More sharing options...
Profette Posted May 19, 2014 Author Share Posted May 19, 2014 (edited) Merci !Oui, j'ai bien modifié dans les modules afin qu'ils y soient greffés Au fait, si je posais la question c'est que pour d'autres hooks, la condition est plus élaborée... Par exemple dans mon header.tpl : <div id="center_column" class="{if !$st_hide_left_column && !$st_hide_right_column}span6{elseif !$st_hide_left_column || !$st_hide_right_column}span9{else}span12{/if}"> Sachant que $st_hide_left_column & $st_hide_right_column correspondent à ça dans mon FrontController : blablabla 'st_hide_left_column' => !$this->display_column_left, 'st_hide_right_column' => !$this->display_column_right, blablabla Et je ne sais pas vraiment comment gérer ça... Et que si je n'utilise pas "hook h=...", non seulement cela n'apparait pas mais de plus, j'ai plein de joyeuses erreurs "Undefined index" & "Trying to get property of non-object".... Edited May 19, 2014 by Profette (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted May 19, 2014 Share Posted May 19, 2014 Pour être honnête, je pense que je me suis perdu dans votre demande, sur le coup. :-/ Vous souhaitez faire un contrôle sur quelles données ? Sur l'existence du hook comme l'exemple dans votre premier message ? La condition mentionnée dernièrement ne vous permet que de changer la taille du bloc pour qu'il prenne en compte l'existence d'une colonne de gauche ou de droite, ou justement sa non existence. Elle n'a pas spécialement lieue d'être dans votre tpl. Je n'ai pas saisi comment vous arrivez à l'index indéfini, sinon, mais je pense que l'on peut passer cette étape non nécessaire, selon ce que je comprends ;-) Link to comment Share on other sites More sharing options...
Profette Posted May 19, 2014 Author Share Posted May 19, 2014 Désolé pour mon manque de clarté... Au fait tout est parti d'un problème bizarre. Lorsque je créais un compte test sur mon site, mon layout changeait radicalement, je ne voyais plus certains modules, d'autres apparaissaient... En faisant des tests de debug, je me suis aperçu que le PS pour des raisons qui m'échappent, considérait le $st_hide_left_column (pour reprendre mon exemple ci-dessus) comme "Undefined index" & "Trying to get property of non-object".... et donc forcément n'apparaissait pas. Sans trop bien comprendre l'origine problème, j'ai essayé la méthode "hook h=..." et là, la situation redevenait normale. Mes hooks et donc mes modules apparaissaient à nouveau correctement et je n'avais plus de problème avec la compilation smarty. Donc j'imagine que maintenant mon problème "butoir" est que je ne sais pas comment exprimer une condition, quelle est la bonne ponctuation a utiliser sans prendre la variable "$st_hide_left_column"... Je devrais remplacer ça par "!$this->display_column_left" ou c'est complètement faux ? Link to comment Share on other sites More sharing options...
J. Danse Posted May 19, 2014 Share Posted May 19, 2014 Hum, ... le $this->... est en PHP, la variable $st_... au niveau du tpl. Maintenant, st_hide n'existe pas nativement. C'est tout simple hide_left_column et non st_hide_left_column, vous voyez ? Link to comment Share on other sites More sharing options...
Profette Posted May 19, 2014 Author Share Posted May 19, 2014 Je comprends qu'il y a une différence mais je ne comprends pas (du point de vue de mon niveau de bricoleur) ce que je dois mettre à la place de $st_hide_left_column dans mon tpl. Vu que cette variable n'était déjà pas ou mal définie avant et que maintenant, je ne l'utilise plus... Link to comment Share on other sites More sharing options...
J. Danse Posted May 19, 2014 Share Posted May 19, 2014 Dans ce cas, rien. Ou alors, {$hide_left_column}, dans un if. Mais je pense que je comprends mal où on tente à arriver, là. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now