Forum CMS Made Simple FR

Version complète : [Résolu]Champs personnalisé depuis un module dans la gestion des pages
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.12
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.12
#~ Installed Modules:
#~ CMSMailer: 5.2.2
#~ CMSPrinting: 1.0.5
#~ FileManager: 1.4.5
#~ MenuManager: 1.8.6
#~ MicroTiny: 1.2.8
#~ ModuleManager: 1.5.8
#~ News: 2.14.4
#~ Search: 1.7.11
#~ ThemeManager: 1.1.8
#~ Ouverture: 1.0
#~ RJslider: 1.0
#~ CGExtensions: 1.45
#~ CGJobMgr: 1.3.4
#~ CGSimpleSmarty: 1.7.4
#~ NMS: 2.9.5
#~ Guestbook: 1.4_RC2
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ max_upload_size: 16000000
#~ url_rewriting: none
#~ 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.4.3
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ E_DEPRECATED: 8192
#~ memory_limit: 1024M
#~ max_execution_time: 180
#~ output_buffering: 1
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 16M
#~ upload_max_filesize: 16M
#~ session_save_path: E:/wamp/tmp (0777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: apache2handler
#~ Server Db Type: MySQL (mysqli)
#~ Server Db Version: 5.6.12
#~ Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté
#~ Server Time Diff: Aucune différence de date du système de fichiers trouvées
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour à tous

Je cherche un moyen d'ajouter plusieurs champs SELECT simple et multiple dans l’édition d'une page pour afficher différents éléments de puis un module genre : Option, tarif, et durée... comme les champs Type de contenu ou gabarit mais que je gérerai les options a choisir dans mon module. C'est un un peu une custom Post dans d'autres cms mais ici c'est la page mais avec des champs personnalisés.
Quelqu'un aurait il une idée? Merci.
Pour ajouter des champs select dans l'administration d'une page, je te conseille le module CGContentUtils. Tu pourras, je pense, même mettre du smarty comme valeur dans les boîtes à cocher.
Bonsoir
Voir aussi advancedcontent...
Merci à vous je vais tester
J'ai testé les modules mais ca ne convient pas vraiment a ce que je veux. J'ai donc modifier un peu mon module et j'ai réussi à faire fonctionner la balise {content_module ...}. Dans l'admin tout est ok seulement au front-end il affiche les données brutes sans mise en forme alors que je souhaite avoir des listes par exemple.
Est-ce que vous pouvez me dire ou gere t-on le contenu en front-end de ce plugin {conten_module ...} ? J'ai modifier mon fichier action.default.php mais sont contenu n'est même pas pris en compte. Dans certain cas, je voudrai aussi ne pas afficher les données dans le front mais ca s'affiche toujours.
Merci.
Bonjour,
l'affichage sur le FE se gère avec SMARTY.
Puisque tu as développés ton propre module, tu dois passer tes résultats à SMARTY pour l'affichage final par un "display template". Ensuite à toi de mettre au point l'habillage des variables dans ton gabarit.
Prend exemple sur le module News, c'est un bon modèle très complet.
Merci Jissey,
En fait j'ai bien le fichier action.default mais ca n'affiche pas celui de la balise {content_module name...} mais celui du {cms_module } que je peux tres bien gere comme je veux.
{content_module ...} affiche un select multiple dans admin et enregistre dans la base du contenu de la page, et la page FE affiche directement les données enregistrées. Pour info j'ai utilisé les fonctions :
Code :
[== Indéfini ==]
function GetContentBlockInput($blockName,$value,$params,$adding = false)
    {
      
    }

    function GetContentBlockValue($blockName,$blockParams,$inputParams)
    {
        $db = cmsms()->GetDb();
    
    }

    function ValidateContentBlockValue($blockName,$value,$blockparams)
    {
        
        
    }

et je suppose qu'il y a une fonction qui recupere le resultat qu'on peut reecrire dans un module pour mettre au moins mes données dans un array et assigner un Template car je ne peux pas non plus assigner un template. J'ai juste un long var separé par des virgules dans le FE.

Merci.
Bonjour,
je crois avoir (enfin) compris :
il faut mettre {content_module name="tonmodule" assign="toto"}
Ensuite, tu récupères ta variable $toto.
Bonjour,

Un grand merci à tous. C'est une bonne solution qui m'as permis de masquer et en même temps d'afficher mes données mais c'est un peu limité. Dans la var toto par exemple j'ai "texte1, texte2, texte3..." qui est assez compliqué à personnaliser au niveau de l'affichage. On devrait quand même avoir une fonction qu'on pourrait réécrire dans le module pour travailler cela si vous avez une idée.

En tout cas merci, je chercherai ça tranquillement, je chercherai même a afficher la même chose en admin comme en FE avec la même balise {content_module }, pour le moment le problème est résolu
Merci.
Smarty est ton ami : http://www.smarty.net/docs/en/language.v...ay.indexes
ex : si $toto est une array {$toto[0]} pour afficher uniquement la première valeur.
Si tu avais mis le module CGContentUtils, tu pouvais écrire comme valeur de ton premier select : {$toto[0]} etc.
bonjour,
si c'est complètement résolu, merci de mettre [Resolu] dans le titre (accessible depuis ton premier post).
Ça aide ceux qui consultent le forum.
Jean le Chauve a écrit :Smarty est ton ami : http://www.smarty.net/docs/en/language.v...ay.indexes
ex : si $toto est une array {$toto[0]} pour afficher uniquement la première valeur.
Si tu avais mis le module CGContentUtils, tu pouvais écrire comme valeur de ton premier select : {$toto[0]} etc.

Merci. Je vais mettre résolu