Créer template/design (ancien GCB) avec une UDT

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
#1
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.
#1
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.
#2
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)
J-C Etiemble v 2.2.xx
#2
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)
J-C Etiemble v 2.2.xx
#3
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.
#3
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.
#4
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
J-C Etiemble v 2.2.xx
#4
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
J-C Etiemble v 2.2.xx


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)