Forum CMS Made Simple FR
Article rangé par champs personnels - 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 : Article rangé par champs personnels (/thread-3441.html)



Article rangé par champs personnels - sechanbask - 09/03/2015

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.12
#~ Url du site : atenbet.fr
#~ Hébergeur / Soft : OVH
#~ Informations Système :
#~ #~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~


----------------------------------------------

Cms Version: 1.11.12

Installed Modules:

CMSMailer: 5.2.2
CMSPrinting: 1.0.5
FileManager: 1.4.5
MenuManager: 1.8.6
TinyMCE: 2.9.12
ModuleManager: 1.5.8
News: 2.14.4
Search: 1.7.11
ThemeManager: 1.1.8
CGFavs: 1.1
CGExtensions: 1.45
ExtendedTools: 1.3.3
SEOTools2: 1.2.1
Captcha: 0.5.2
FormBuilder: 0.8.1.1
CGJobMgr: 1.2.15
NMS: 2.7.4
NMSTrack: 1.0
CGSimpleSmarty: 1.7.4


Config Information:

php_memory_limit:
process_whole_template:
max_upload_size: 64000000
url_rewriting: mod_rewrite
page_extension: .html
query_var: page
image_manipulation_prog: GD
auto_alias_content: true
locale: fr_FR.utf8
default_encoding: utf-8
admin_encoding: utf-8
set_names: true


Php Information:

phpversion: 5.4.38
md5_function: On (Vrai)
gd_version: 2
tempnam_function: On (Vrai)
magic_quotes_runtime: Off (Faux)
E_STRICT: 2048
E_DEPRECATED: 8192
memory_limit: 128M
max_execution_time: 120
output_buffering: 4096
safe_mode: Off (Faux)
file_uploads: On (Vrai)
post_max_size: 64M
upload_max_filesize: 64M
session_save_path: /tmp (0700)
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.73
Server Db Grants: Impossible de trouver un privilège "GRANT ALL". Cela peut signifier que vous pourriez avoir des problèmes pour installer ou retirer des modules, ou encore l 'ajout et la suppression d'éléments, y compris les pages.
Server Time Diff: Aucune différence de date du système de fichiers trouvées


----------------------------------------------

#~ #~ ----------------------------------------------
#~ #~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



J'utilise le module News pour monter nos références, j'ai créé un champs Client avec une liste déroulante. J'aimerais afficher nos références par ce champs perso, mais apparemment c'est pas possible facilement :


J'ai tenté de suivre ceci http://forum.cmsmadesimple.org/viewtopic.php?f=8&t=58335

mais le test {$entry|@print_r} dans un template m'écrit un truc incompréhensible pour moi voir http://www.atenbet.fr/references_completes.html


vous avez une idée ?

J'avais pensé à changer le PHP de action.addarticle.php, pour le champs "extra" (qui permet le tri) soit rempli par le contenu de mon champs perso, mais ça dépasse mes compétences...


Article rangé par champs personnels - jce76350 - 09/03/2015

mettre à jour en v 1.11.13 par sécurité


Article rangé par champs personnels - sechanbask - 09/03/2015

merci pour l'information mais ça ne change rien pour mon problème de champs



P.S. il faudrait qu'on puisse lors du dépôt des messages mettre la version autre que 1.11.11


Article rangé par champs personnels - Jean le Chauve - 09/03/2015

Salut,
Tu trouveras dans ce lien un plugin et la doc qui répondra parfaitement à ton attente. Tu devras copier le code, car le téléchargement n'est pas possible pour le moment.


Article rangé par champs personnels - jce76350 - 09/03/2015

Code :
P.S. il faudrait qu'on puisse lors du dépôt des messages mettre la version autre que 1.11.11
ça vient
mais pour ta sécurité c'est important 1.11.13


Article rangé par champs personnels - sechanbask - 24/03/2015

Jean le Chauve,

je viens de testé ton module mais j'ai dû oublié une étape :


J'ai ajouté le fichier "modifier.sort_object_array.php" dans le dossier "plugins", j'ai ouvert mon gabarit de news : et j'ai fait ça :


Code :
[== Indéfini ==]
<!-- Start News Display Template -->
<h2 class="title">Liste complète des références :</h2>
<div class="NewsSummary">
<ul>
{foreach from=$items item=entry|sort_object_array:'Client' item='field'}
<li>
{if isset($entry->fields)}
  {foreach from=$entry->fields item='field'}
      
        {if $field->name == 'ref_interne'}
            {eval var=$field->displayvalue}&nbsp;:
        {/if}

        {if $field->name == 'Client'}
            {eval var=$field->displayvalue}&nbsp;:
        {/if}
    
  {/foreach}
{/if}

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




{if isset($entry->fields)}
  {foreach from=$entry->fields item='field'}
    
    


        {if $field->name == 'Lieu'}
            {eval var=$field->displayvalue}&nbsp;
        {/if}



    
  {/foreach}

   {/if}






</li>






{/foreach}

</ul>
</div>

{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}

<!-- End News Display Template -->

j'ai oublié une étape car ça ne marche pas...

http://www.atenbet.fr/dev_references_completes.htmlhttp://www.atenbet.fr/dev_references_completes.html


Article rangé par champs personnels - Jean le Chauve - 24/03/2015

Citation :{foreach from=$items item=entry|sort_object_array:'Client' item='field'}
Où as-tu vu que j'écrivais ce code ? C'est pourtant bien expliqué au paragraphe 3.
Code :
{foreach from=$entry->fields|sort_object_array:'Client' item='field'}



Article rangé par champs personnels - jce76350 - 24/03/2015

@ sechanbask Merci de mettre en conformité ta balise meta
[la communauté francophone exige dans le code HTML de vos pages la ligne suivante]
<meta name="Generator" content="CMS Made Simple - Copyright © 2004-14 Ted Kulp. All rights reserved." />


Article rangé par champs personnels - Jean le Chauve - 24/03/2015

Donc pour ton cas particulier :
Code :
<div class="NewsSummary">
{if isset($entry->fields)}
<ul>
{foreach from=$entry->fields|sort_object_array:'Client' item='field'}
<li>
{if $field->name == 'ref_interne'}
{eval var=$field->displayvalue}&nbsp;:
{/if}
{if $field->name == 'Client'}
{eval var=$field->displayvalue}&nbsp;:
{/if}
[...]
</li>
{/foreach}
</ul>
{/if}



Article rangé par champs personnels - sechanbask - 24/03/2015

Jean le Chauve,

Je viens de tester ta réponse, voilà ce que ça me produit :

http://www.atenbet.fr/dev_references_completes.html


Article rangé par champs personnels - Jean le Chauve - 24/03/2015

Incroyable, tu as copié [== Indéfini ==] dans le gabarit :lol:
Copie-nous ton gabarit news et, comme te l'a demandé Jce, replace la balise generator.


Article rangé par champs personnels - jce76350 - 24/03/2015

Citation :Incroyable, tu as copié [== Indéfini ==] dans le gabarit
Hé oui c'est possible

@ sechanbask je répète si tu veux de l'aide
Merci de mettre en conformité ta balise meta
[la communauté francophone exige dans le code HTML de vos pages la ligne suivante]
<meta name="Generator" content="CMS Made Simple - Copyright © 2004-14 Ted Kulp. All rights reserved." />


Article rangé par champs personnels - sechanbask - 24/03/2015

@jce76350 :

est-ce la balise est bien placée ?


@tous :

Pour le "INDEFINI", c'est la résultat de la commande pas un copie collé de "INDEFINI", je suis mauvais mais mon incompétence à des limites...

la page http://www.atenbet.fr/dev_references_completes.html appel mes news comme ceci :

{news number='100' detailpage='news' summarytemplate='DEV_ATEN_LISTE_COMPLETE'}

le gabarit DEV_ATEN_LISTE_COMPLETE


Je viens de refaire le test en complétant le gabarit :

Code :
[== Indéfini ==]
<!-- Start News Display Template -->
<h2 class="title">Liste complète des références :</h2>
<div class="NewsSummary">
{if isset($entry->fields)}
<ul>
{foreach from=$entry->fields|sort_object_array:'Client' item='field'}

<li>
{if $field->name == 'ref_interne'}
{eval var=$field->displayvalue}&nbsp;:
{/if}
{if $field->name == 'Client'}
{eval var=$field->displayvalue}&nbsp;:
{/if}

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

{if $field->name == 'Lieu'}
{eval var=$field->displayvalue}&nbsp;
{/if}



</li>
{/foreach}
</ul>
{/if}




</div>

{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}

<!-- End News Display Template -->


mais c'est toujours pareil :

http://www.atenbet.fr/dev_references_completes.html


Article rangé par champs personnels - Jean le Chauve - 24/03/2015

On ne voit toujours pas la balise <Generator... Tu dois l'ajouter dans "administration du site->paramètres globaux->métadonnées globales : <meta name="Generator" content="CMS Made Simple - Copyright © 2004-14 Ted Kulp. All rights reserved." />
Il manque également : <meta charset="UTF-8">
Tu as pu l'enlever, tu dois pouvoir le remettre. C'est appelé dans le gabarit par : {metadata}

Indéfini : Résultat de quelle commande ? Je n'ai jamais rencontré cela.

Ça ne peut pas marcher, tu appelles {if isset($entry->fields)} avant de définir $entry.
Il faut d'abord : {foreach from=$items item=entry}

Donc :
Code :
{foreach from=$items item=entry}
<div class="NewsSummary">
[...]
en n'oubliant pas de refermer le foreach.


Article rangé par champs personnels - sechanbask - 24/03/2015

@Jean le Chauve, la balise y est sur la partie en production
http://www.atenbet.fr/.

Je l'ai remise de manière globale, je pense que j'avais fait une fausse manipulation lors du paramétrage de SEO2.

L'erreur INDEFINI apparait dès que je place le |sort_object_array:'Client'... j'ai dû oublier quelque chose.


Article rangé par champs personnels - Jean le Chauve - 24/03/2015

Montre ton gabarit DEV_ATEN_LISTE_COMPLETE en entier.


Article rangé par champs personnels - sechanbask - 24/03/2015

voici mon gabarit :
Code :
[== Indéfini ==]
<h2 class="title">Liste complète des références :</h2>
<div class="NewsSummary">


<ul>

{foreach from=$items item=entry}
{if isset($entry->fields)}
{foreach from=$entry->fields|sort_object_array:'Client' item='field'}

<li>
{if $field->name == 'Client'}
{eval var=$field->displayvalue}&nbsp;:
{/if}

{if $field->name == 'ref_interne'}
{eval var=$field->displayvalue}&nbsp;:
{/if}

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

{if $field->name == 'Lieu'}
{eval var=$field->displayvalue}&nbsp;
{/if}



</li>
{/foreach}

{/if}



{/foreach}
</ul>
</div>

{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}



Article rangé par champs personnels - Jean le Chauve - 24/03/2015

Ça s'affiche sans erreur, maintenant. Le seul problème reste le tri, je suppose.
Sors-moi un {$items|var_dump} sur ta page que je puisse mieux m'y retrouver.


Article rangé par champs personnels - sechanbask - 25/03/2015

J'ai mis à la fin de mon gabarit DEV_ATEN_LISTE_COMPLETE la commande {$items|var_dump}. J'espère que tu sauras t'y retrouver car c'est très très lisible...


Article rangé par champs personnels - Jean le Chauve - 25/03/2015

Tu saurais me donner un accès admin ? Envoie-moi le login et mot de passe sur mon email (sous mon avatar).


Article rangé par champs personnels - sechanbask - 25/03/2015

Je ne peux pas te donner cet accès, nous avons de données sensibles sur ce site. Je regarde si je peux le faire sur un serveur de test.