Forum CMS Made Simple FR

Version complète : [Résolu] Module News: Afficher image si champ coché
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: !1.9.4.1
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~ #~ Version du CMS: #1.9.4.1
#~ #~ Url du site :
#~ #~ Hébergeur / Soft :
#~ #~ Informations Système :
#~ #~ CMSMailer: 2.0.1
#~ #~ FileManager: 1.1.0
#~ #~ MenuManager: 1.7.6
#~ #~ ModuleManager: 1.4.2
#~ #~ News: 2.11.2
#~ #~ nuSOAP: 1.0.2
#~ #~ Printing: 1.1.2
#~ #~ Search: 1.6.10
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour à tous,

Lors de mon post, j'avais défini deux champs supplémentaires dans le module News, un champ de type file nommé capture et un champ de type checkbox nommé alaune.

Dans le gabarit du sommaire je ne parviens pas à finaliser le bout de code pour exprimer ceci:

Si le checkbox est coché et si le champ file est renseigné alors affiché l'image. Malheureusement, je ne parviens pas en modifiant le code ci-dessous

Code :
{foreach from=$items item=entry}

{if isset($entry->fields)}
  {foreach from=$entry->fields item='field'}
    
        {if $field->type == 'file'}
          <img src="{$entry->file_location}/{$field->value}"/>
        
        {/if}
    
  {/foreach}

{/foreach}

Quelqu'un peut m'aider?
Pas besoin du 2ème foreach.
Code :
{foreach from=$items item=entry}
...
{if isset($entry->fields)}
  {if $entry->alaune == 1}
     {if isset($entry->capture)}    
       <div class="NewsDetailField">
        <img src="{$entry->file_location}/{$entry->capture}"/>
       </div>
     {/if}
  {/if}
{/if}
...
{/foreach}
Bonjour Jean,

Je viens de tester, mais cela ne marche pas. Aucune image ne s'affiche.
Ce code marche dans le gabarit detail.
Je regarde pour le sommaire.
As-tu bien coché public dans les définitions des champs ?
Pas de problème pour le gabarit sommaire :
Code :
<!-- Start News Display Template -->
{* This section shows a clickable list of your News categories. *}
<ul class="list1">
{foreach from=$cats 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}
<li{if $node.index == 0} class="firstnewscat"{/if}>
{if $node.count > 0}
    <a href="{$node.url}">{$node.news_category_name}</a>{else}<span>{$node.news_category_name} </span>{/if}
{/foreach}
{repeat string="</li></ul>" times=$node.depth-1}</li>
</ul>

{* this displays the category name if you're browsing by category *}
{if $category_name}
<h1>{$category_name}</h1>
{/if}

{* if you don't want category browsing on your summary page, remove this line and everything above it *}

{if $pagecount > 1}
  <p>
{if $pagenumber > 1}
{$firstpage}&nbsp;{$prevpage}&nbsp;
{/if}
{$pagetext}&nbsp;{$pagenumber}&nbsp;{$oftext}&nbsp;{$pagecount}
{if $pagenumber < $pagecount}
&nbsp;{$nextpage}&nbsp;{$lastpage}
{/if}
</p>
{/if}
{foreach from=$items item=entry}
<div class="NewsSummary">

{if $entry->postdate}
    <div class="NewsSummaryPostdate">
        {$entry->postdate|cms_date_format}
    </div>
{/if}

<div class="NewsSummaryLink">
<a href="{$entry->moreurl}" title="{$entry->title|cms_escape:htmlall}">{$entry->title|cms_escape}</a>
</div>

<div class="NewsSummaryCategory">
    {$category_label} {$entry->category}
</div>

{if $entry->author}
    <div class="NewsSummaryAuthor">
        {$author_label} {$entry->author}
    </div>
{/if}

{if $entry->summary}
    <div class="NewsSummarySummary">
        {eval var=$entry->summary}
    </div>

    <div class="NewsSummaryMorelink">
        [{$entry->morelink}]
    </div>

{else if $entry->content}

    <div class="NewsSummaryContent">
        {eval var=$entry->content}
    </div>
{/if}

{if isset($entry->extra)}
    <div class="NewsSummaryExtra">
        {eval var=$entry->extra}
    {* {cms_module module='Uploads' mode='simpleurl' upload_id=$entry->extravalue} *}
    </div>
{/if}
{if isset($entry->fields)}
  {if $entry->alaune == 1}
     {if isset($entry->capture)}    
       <div class="NewsDetailField">
        <img src="{$entry->file_location}/{$entry->capture}"/>
       </div>
     {/if}
  {/if}
{/if}

</div>
{/foreach}
<!-- End News Display Template -->
Merci. Tout fonctionne maintenant.
Qu'est-ce qui n'allait pas ?