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