Forum CMS Made Simple FR
Module News: afficher les "définitions de champs" suivant sommaire ou - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html)
+--- Sujet : Module News: afficher les "définitions de champs" suivant sommaire ou (/thread-266.html)



Module News: afficher les "définitions de champs" suivant sommaire ou - nicks - 24/03/2010

Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS : 1.6.6
#~ Version du MLE si existante :
#~ Informations Système :
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
Bonjour,

Dans le module "Articles", j'ai ajouté deux définitions de champs (des images).
Je souhaite afficher dans le sommaire de l'article uniquement l'image que j'appelle "vignette" dans ma définition.
Dans le détail de l'article je ne souhaite afficher que l'image que j'appelle "visuel" dans ma définition.

J'arrive effectivement à afficher uniquement "visuel" dans mon détail en m'y prenant comme ceci :

{if !empty($entry->visuel)}

<div id="image">
{if $field->type == 'file'}
{* this template assumes that every file uploaded is an image of some sort, because News doesn't distinguish *}
<img src="{$entry->file_location}/{$field->value}" width="516" height="397"/>
{else}
{$field->name}: {eval var=$field->value}
{/if}
</div><!-- image -->
{/if}

En revanche, si j'utilise ce code dans mon sommaire :

{if !empty($entry->vignette)}

{if $field->type == 'file'}
{* this template assumes that every file uploaded is an image of some sort, because News doesn't distinguish *}
<a href="{$entry->moreurl}" title="{$entry->title|cms_escape:htmlall}"><img src="{$entry->file_location}/{$field->value}"/></a>
{else}
{$field->name}: {eval var=$field->value}
{/if}

{/if}

j'ai un message d'erreur ": string(43) "Smarty error: eval: missing 'var' parameter" : string(43) "Smarty error: eval: missing 'var' parameter"

Je ne comprends pas trop pourquoi celà fontionne dans le détail et pas dans le sommaire? Un problème avec la boucle {foreach}?

Merci!


Module News: afficher les "définitions de champs" suivant sommaire ou - Jean le Chauve - 24/03/2010

Parce que c'est {foreach from=$entry->fields item='field'} qui crée $field.
Il faut donc que tu déplaces le foreach avant $field.


Module News: afficher les "définitions de champs" suivant sommaire ou - nicks - 24/03/2010

Bonjour et merci pour ta réponse Jean Le Chauve!

J'ai essayé différentes solutions (oui le code pour moi se résume souvent à une partie de Tetris Smile ) mais sans succès... Voici le code complet (que je trouvais pourtant assez sexy dans Notepad)... qui ne donne rien! Je veux bien un petit coup de pouce, si ce n'est pas trop abuser!?

<!-- Start News Display Template -->

{foreach from=$items item=entry}

{foreach from=$entry->fields item='field'}
{if !empty($entry->vignette)}
{if $field->type == 'file'}
<a href="{$entry->moreurl}" title="{$entry->title|cms_escape:htmlall}"><img src="{$entry->file_location}/{$field->value}"/></a>
{else}
{$field->name}: {eval var=$field->value}
{/if}
{/if}
{/foreach}


{if $pagecount > 1}
<p>
{if $pagenumber > 1}
{$firstpage} {$prevpage} 
{/if}
{$pagetext} {$pagenumber} {$oftext} {$pagecount}
{if $pagenumber < $pagecount}
 {$nextpage} {$lastpage}
{/if}
</p>
{/if}
{/foreach}
<!-- End News Display Template -->

Merci!


Module News: afficher les "définitions de champs" suivant sommaire ou - Jean le Chauve - 30/09/2010

Résolu ?


Module News: afficher les "définitions de champs" suivant sommaire ou - nicks - 01/10/2010

Non, j'avais laissé de côté entre temps (j'ai du bricoler un truc, je ne sais plus...), mais effectivement je pense que si je trouve une solution à cela, ce sera forcément utile. Donc je cherche et je reviens.