Forum CMS Made Simple FR

Version complète : [Résolu] Isabela et les images des news (Définition des champs)
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.11.2
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.2
#~ Installed Modules:
#~ CMSMailer: 5.2.1
#~ CMSPrinting: 1.0.3
#~ FileManager: 1.4.1
#~ MenuManager: 1.8.4
#~ MicroTiny: 1.2.3
#~ ModuleManager: 1.5.5
#~ News: 2.12.9
#~ Search: 1.7.7
#~ ThemeManager: 1.1.7
#~ Gallery: 1.6
#~ CGExtensions: 1.30
#~ CGSmartImage: 1.9.4
#~ TinyMCE: 2.9.11
#~ MleCMS: 1.11.3
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ output_compression:
#~ max_upload_size: 96000000
#~ url_rewriting: mod_rewrite
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.3.16
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ E_DEPRECATED: 0
#~ memory_limit: 80M
#~ max_execution_time: 50
#~ output_buffering: On
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 96M
#~ upload_max_filesize: 96M
#~ session_save_path: Aucune vérification à cause de la restriction spécifiée par PHP open_basedir
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: cgi-fcgi
#~ Server Db Type: MySQL (mysql)
#~ Server Db Version: 5.1.63
#~ Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,
Je viens d'installer le dernier madesimple et les images des articles n'apparaissent plus (insérés via 'Définition des champs')
partie du code du gabarit de sommaire
Code :
[== Indéfini ==]
{foreach from=$items item=entry}
<li>
<div class="left"><img src="{root_url}/uploads/news/id{$entry->id}/{$entry->photo}" alt="" width="700" height="240" /></div>
...

chose étrange, cela s'affiche dans le gabarit du détail
Code :
[== Indéfini ==]
{if isset($entry->canonical)}
  {assign var='canonical' value=$entry->canonical}
{/if}

<div id="completenews">

<div class="sum">

<div class="left">
<img src="{root_url}/uploads/news/id{$entry->id}/{$entry->photo}" alt="" width="700" height="240" />
</div><!-- left -->
...

Du coup plantage lorsque je veux utiliser cgsmartimage ... j'ai le site en preprod avec une version 1.10.3 et tout marche nickel avec code équivalent.
Merci de votre aide
bonjour,
la différence avec la 1.10.3, c'est smarty 3 (entre autre).
Smarty 3 ne tolère aucune erreur de syntaxe, vérifie ton gabarit. Il ne doit pas y avoir d'espace après { ou avant }.
Vérifie la syntaxe en général de smarty.
Merci de vos réponses mais toujours rien,
je précise que tout s'affiche (title, postdate...) sauf les images
Si j’essaie d'afficher {$entry->miniature} il ne m'affiche rien
code complet du gabarit sommaire:
Code :
[== Indéfini ==]
{foreach from=$items item=entry}
<div class="NewsSummary">
<div class="news-photo"><img src="{root_url}/uploads/news/id{$entry->id}/{$entry->miniature}" alt="" width="200" height="130" /></div>
<div class="news-info">
<div class="NewsSummaryLink">
<a href="{$entry->moreurl}" title="{$entry->title|cms_escape:htmlall}">{$entry->title|cms_escape}</a>
</div>
<div class="sl-txt"><span class="sl-date">
{if $entry->postdate}
{$entry->postdate|cms_date_format}
{/if}
</span><br />
{if $entry->summary}
{eval var=$entry->summary}
<br/>
<div class="NewsSummaryMorelink">
        [{$entry->morelink}]
    </div>
{/if}
</div>
</div><!-- news-info -->
</div>
{/foreach}
en y regardant de plus près, tu es bien certain que ça fonctionnait avant?
Parce que les champs additionnels dans les news, on ne les attrape pas comme ça: $entry->nom du champ, mais dans $entry->fields...
Tout à fait, mon cher Jissey Smile
Il est également exact que le module news a été upgradé pour le passage en 1.11. Certains codes ne passent pas plus sur le template sommaire.
Tu dois appeler $entry->fields pour obtenir les valeurs des champs personnalisés.
Voici un exemple pour que l'image uploadée soit directement traitée par CGSmartImage. Il te suffit de créer un alias correspondant à la taille de la miniature dans le module CGSmartImage (ex : miniature_news filter_croptofit="70,70" quality='100').
Bonus : dans ce gabarit, j'ai créé deux définitions de champs : image (champs upload) et imagePicker (zone de texte).
Le premier sert à uploader une image de l'ordinateur, et le second à créer un wysiwyg (pour choisir une image déjà sur le serveur (condition, ne rien entrer comme attribut title ou class dans la fenêtre d'upload image du wysiwyg).
Code :
{strip}
{foreach from=$items item=entry}
<h2 class="newsSummarytitle"><a href="{$entry->moreurl}" title="{$entry->title|cms_escape:htmlall}">{$entry->title|cms_escape}</a></h2>
{if isset($entry->fields)}      
    {if $entry->postdate}
      <div class="postDate">{$entry->postdate|cms_date_format}
      </div> {/if}
      {if $entry->category}
      <div class="postCategory">{$entry->category}</div>
      {/if}
      {if $entry->author}
      <div class="postAuthor">{$entry->author}</div>
       {/if}
      <div class="clear"></div><hr class='borderb' />
<span class="NewsSummaryField">
{foreach from=$entry->fields item='field'}
{if $field->name == 'image' && $field->value neq ''}
       {capture assign='photoarticle'}uploads/news/id{$entry->id}/{$field->value}{/capture}<a href="{$entry->moreurl}" title="{$entry->title|cms_escape:htmlall}" class="alignleft">{cms_module module="CGSmartImage" alias='miniature_news' src=$photoarticle alt=$entry->title class="alignleft"}</a>
{elseif $field->name == 'imagePicker' && $field->value neq ''}
         {capture assign='photopicker'}
{* regex permettant de supprimer les dimensions et le alt mis automatiquement par le wysiwyg *}
{eval var=$field->value|regex_replace:'#<img\ssrc=\"(.*)\"\salt=\".*\"\swidth=\".*\"\sheight=\".*\"\s/>#':'$1'}{/capture}
<a href="{$entry->moreurl}" title="{$entry->title|cms_escape:htmlall}" class="alignleft">
  {cms_module module="CGSmartImage" alias='miniature_news' src=$photopicker alt=$entry->title class="alignleft"}  </a>      
{/if}
{/foreach}
      </span>  
{if $entry->summary}
      <div class="postSummary">{eval var=$entry->summary}
      </div>
      <div class="button grey small">{$entry->morelink}
      </div> {else if $entry->content}
      <div class="postSummary">{eval var=$entry->content}
      </div>{/if}
{/if}
      <div class="clear"></div>
      {/foreach}
{/strip}
Et dans ta page détail, il te suffira de modifier l'alias de CGSmartImage.
Merci, ça marche, c'est un peu plus long à écrire mais c'est good.

ça aurait pu être $entry->fields->nomduchamps

m'enfin... Big Grin
Citation :ça aurait pu être $entry->fields->nomduchamps
et même
Citation :$entry->fields->nomduchamps->value
mais si on dit tout, que reste-il a découvrir Smile

Marque [Résolu] dans le titre et ferme la discussion, merci.
oh fan de chichoune
j'adore les prises de têtes !!