Forum CMS Made Simple FR
Créer template/design (ancien GCB) avec une UDT - 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 : Créer template/design (ancien GCB) avec une UDT (/thread-4766.html)



Créer template/design (ancien GCB) avec une UDT - funkyhead - 16/03/2023

Bonjour,
J'essaie de converti de 1.x vers 2.x la gestion de block de contenu (anciennement GCB) avec une UDT en php :

Avec cmsms 1.x :
$gcbOps =cmsms()->GetGlobalContentOperations();
$mybloc = $gcbOps->LoadHtmlBlobByName("my_block");
$mybloc = $mybloc + "bla bla";
$gcbOps->UpdateHtmlBlob($mybloc)

 Maintenant avec cmsms 2.x :
Comment créer un bloc 'Core:Generic' en php depuis une UDT et/ou en modifier le contenu ? Quelles sont les méthodes à utiliser SVP ?

PS : j'arrive tout de même à lire le contenu d'un bloc avec :
$mybloc = $smarty->fetch('cms_template:my_block');

Merci de votre aide.
Cordialement.


RE: Créer template/design (ancien GCB) avec une UDT - jce76350 - 17/03/2023

Déjà donner quelques élément sur la version du Cms Wink
la version 1.x c'est du siècle dernier et le temps passe vite
donc si je comprends tu veux insérer dans une ou des pages un bloc de contenu identique  ?
Si oui
1- créer un gabarit  de type Core::Générique  "mon_bloc" => tape ton texte ou  ...
2- dans le gabarit de page insérer la balise
{global_content name='mon_bloc'} {* c'est le texte de ton gabarit  "mon_bloc" *}
Il est possible aussi de mettre des conditions  {if ...

Nota : cette discussion devrait plutôt être placée dans Modules, Tags je pense (je déplacerais plus tard)


RE: Créer template/design (ancien GCB) avec une UDT - funkyhead - 17/03/2023

Merci du retour.
Mais voilà hier j'ai enfin trouvé la méthode :

Manipulation d'un GCB/template nommé : test_bloc

CREATION d'un template via UDT :
Code PHP :
    $tpl = new CmsLayoutTemplate();
    $tpl->set_name('test_bloc');
    $tpl->set_owner(1); // admin
    $tpl->set_content("bla bla");
    $type_obj CmsLayoutTemplateType::load(CmsLayoutTemplateType::CORE.'::generic');
    $tpl->set_type($type_obj);
    $tpl->set_type_dflt(FALSE);
    $tpl->save(); 


AFFICHAGE ET MODIFICATION d'un template via UDT:
Code PHP :
$mybloc CmsLayoutTemplate::load('test_bloc');
$my_data $mybloc->get_content();
echo 
"Contenu = $my_data";
$now date("Y-m-d H:i:s");
$my_data $my_data." ".$now;
$mybloc->set_content($my_data);
$mybloc->save(); 


J'espère que cela servira à d'autres.

Bonne journée sous CMSMS.


RE: Créer template/design (ancien GCB) avec une UDT - jce76350 - 19/03/2023

Nota cette discussion  était mal placée dans Développement et Astuces (déplacée le 19/03/23 dans Modules, Tags)
De plus je pense que c'est faire une usine a gaz Wink