Modèle personnalisé avec dma_element_generator

Questions, astuces à propos des modèles et des feuilles de styles
charled
Membre
Messages : 382
Inscription : 14 Juin 2008 15:54
Localisation : Au pied du Luberon…

Modèle personnalisé avec dma_element_generator

Messagepar charled » 04 Déc 2014 14:18

Bonjour à tous,

J'utilise dma_element_generator pour créer des éléments de contenu personnalisés. Pb : le code du modèle part défaut est des plus basique. Il appelle tous les champs et les affiche dans l'ordre de création sous forme d'une liste ou de divs. Pas de mise en forme html spécifique possible.

Code : Tout sélectionner

<div class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>

<?php echo ($this->divs) ? '' : '<ul>'; ?>
  <?php echo $this->fields; ?>
<?php echo ($this->divs) ? '' : '</ul>'; ?>

</div>

Comment puis-je remplacer

Code : Tout sélectionner

  <?php echo $this->fields; ?>
par chaque champs créé afin de créer ma propre mise en page ?

D'avance merci.

FiX'
Membre
Messages : 399
Inscription : 02 Jan 2009 01:04

Re: Modèle personnalisé avec dma_element_generator

Messagepar FiX' » 05 Déc 2014 11:11

Hello,

As-tu regardé le Github de l'extension, il y a un lien qui renvoi vers une page d'explications http://de.contaowiki.org/Dma_elementgenerator

Il y a un exemple qui semble répondre à tes besoins.

D'après ce que j'ai compris, il faut créer un nouveau template. Il ne faut pas toucher au template par défaut... ce qui expliquerait pourquoi tu as directement $this->fields après l'allemand et moi ça fait deux ^^

A+

charled
Membre
Messages : 382
Inscription : 14 Juin 2008 15:54
Localisation : Au pied du Luberon…

Re: Modèle personnalisé avec dma_element_generator

Messagepar charled » 05 Déc 2014 13:45

La réponse serait donc

Code : Tout sélectionner

$this->element
. Je vais tester.
J'avais effectivement zappé le github…
Merci bien FiX'

Question subsidiaire : Contao étant extrêmement codifié, le choix du mot element comme dans d'autres modules event ou autre chose doit être déclaré à un endroit précis du module. Peut-on savoir où ? Ça aiderait à chercher la fois prochaine. C'est peut-être indiqué dans landoc développeurs mais je n'ai pas trouvé…

FiX'
Membre
Messages : 399
Inscription : 02 Jan 2009 01:04

Re: Modèle personnalisé avec dma_element_generator

Messagepar FiX' » 05 Déc 2014 16:06

Re,

charled a écrit :Question subsidiaire : Contao étant extrêmement codifié, le choix du mot element comme dans d'autres modules event ou autre chose doit être déclaré à un endroit précis du module. Peut-on savoir où ? Ça aiderait à chercher la fois prochaine. C'est peut-être indiqué dans landoc développeurs mais je n'ai pas trouvé…

Malheureusement, je ne vais pas pouvoir t'aider à ce niveau là.

Je ne développe pas sur Contao. J'utilise d'autres framework qui sont mieux documentés.

Mais je pense que "element" doit faire référence à une méthode située plus haut dans une classe parente (héritage).

A+

Avatar de l’utilisateur
F2lt
Membre
Messages : 164
Inscription : 26 Mai 2011 09:24
Localisation : L'Isle sur Sorgue - Vaucluse (84)

Re: Modèle personnalisé avec dma_element_generator

Messagepar F2lt » 08 Déc 2014 10:11

Bonjour,

D'après le code du modèle en exemple ( http://de.contaowiki.org/Dma_elementgen ... te_anlegen ), tu a deux attributs à l'objet $this :
- $this->elements qui est un tableau associatif où tu dois retrouver la valeur de tes champs $this->elements['monChamp']
- $this->labels qui est un tableau associatif où tu dois retrouver le libellé de tes champs $this->labels['monChamp']

Même si tu n'a pas de documentation commence par un modèle qui t'affiche tout ton objet $this ( http://php.net/manual/fr/function.print-r.php ):

Code : Tout sélectionner

<?php print_r($this); ?>

et fait "le tri" ensuite :) ; c'est valable pour tous les modules de Contao.

Contaoment
F2lt
Je soutiens Mira Europe qui éduque et remet gratuitement des chiens guides d'aveugles aux enfants aveugles : http://www.miraeurope.org/

Avatar de l’utilisateur
tom-over
Membre
Messages : 829
Inscription : 23 Mai 2008 10:43
Localisation : Rouen

Re: Modèle personnalisé avec dma_element_generator

Messagepar tom-over » 08 Déc 2014 10:24

Je ne connais pas cette extension.
Une alternative au catalogue et certainement plus light ?

Donc ce nouvel élément de contenu est sélectionnable dans la liste déroulante lors de la création d'un article ?

Avez-vous des capture écran ou autre pour voir à quoi ressemble l'interface ?

charled
Membre
Messages : 382
Inscription : 14 Juin 2008 15:54
Localisation : Au pied du Luberon…

Re: Modèle personnalisé avec dma_element_generator

Messagepar charled » 08 Déc 2014 10:51

F2lt a écrit :Bonjour,

D'après le code du modèle en exemple ( http://de.contaowiki.org/Dma_elementgen ... te_anlegen ), tu a deux attributs à l'objet $this :
- $this->elements qui est un tableau associatif où tu dois retrouver la valeur de tes champs $this->elements['monChamp']
- $this->labels qui est un tableau associatif où tu dois retrouver le libellé de tes champs $this->labels['monChamp']

Même si tu n'a pas de documentation commence par un modèle qui t'affiche tout ton objet $this ( http://php.net/manual/fr/function.print-r.php ):

Code : Tout sélectionner

<?php print_r($this); ?>

et fait "le tri" ensuite :) ; c'est valable pour tous les modules de Contao.

Contaoment
F2lt


Merci beaucoup. Ne maîtrisant pas PHP (j'arriverai peut-être à m'y mettre à la retraite ;-)) C'est exactement l'info que je cherchais pour comprendre le principe. Et si en plus ça fonctionne avec tous les modules !

charled
Membre
Messages : 382
Inscription : 14 Juin 2008 15:54
Localisation : Au pied du Luberon…

Re: Modèle personnalisé avec dma_element_generator

Messagepar charled » 08 Déc 2014 11:01

tom-over a écrit :Je ne connais pas cette extension.
Une alternative au catalogue et certainement plus light ?

Donc ce nouvel élément de contenu est sélectionnable dans la liste déroulante lors de la création d'un article ?

Avez-vous des capture écran ou autre pour voir à quoi ressemble l'interface ?


Ce module m'a été suggéré par Léo soi-même (excuses du peu) lorsque je lui demandais si on ne pourrait pas intégrer à Contao un système de création de content_element et de module comme le CCK chez Drupal (désormais intégré depuis la version 7 dudit Drupal). Je pensais alors à Catalog désormais remplacé par MM. La réponse a bien sûr été non ;-) mais il m'a signalé dma_elementgenerator qui s'appuie sur les champs gérés par le core de Contao et ajoute juste une interface backend pour créer ses CE ou Modules en clickodrome. Les élements de contenu sont ensuite sélectionnables dans le menu idoine au sein d'un article avec gestion des droits sur qui peut ou pas l'utiliser.

dma_EG aurait toute sa place comme module de base de Contao mais bon je crains de connaître déjà la réponse… ;-))

FiX'
Membre
Messages : 399
Inscription : 02 Jan 2009 01:04

Re: Modèle personnalisé avec dma_element_generator

Messagepar FiX' » 08 Déc 2014 11:08

F2lt a écrit :

Code : Tout sélectionner

<?php print_r($this); ?>


Oh le c**... je n'ai jamais pensé à déboguer $this de cette façon.

À force d'utiliser les outils des FrameWork on en oubli les "principes de base".

charled a écrit :je lui demandais si on ne pourrait pas intégrer à Contao un système de création de content_element et de module comme le CCK chez Drupal [...] La réponse a bien sûr été non ;-)

Surtout que dans les dernières versions de Contao... il y a un module qui permet de créer ses propres extensions depuis le BE ! Cherchez l'erreur.

A+

charled
Membre
Messages : 382
Inscription : 14 Juin 2008 15:54
Localisation : Au pied du Luberon…

Re: Modèle personnalisé avec dma_element_generator

Messagepar charled » 08 Déc 2014 11:24

FiX' a écrit :Surtout que dans les dernières versions de Contao... il y a un module qui permet de créer ses propres extensions depuis le BE ! Cherchez l'erreur.


J'ai bien vu ça dans les outils développeur mais je n'ai pas compris comment ça fonctionne. D'autant qu'il me semble que c'est un module de création d'extensions pas d'éléments de contenu.

Avatar de l’utilisateur
tom-over
Membre
Messages : 829
Inscription : 23 Mai 2008 10:43
Localisation : Rouen

Re: Modèle personnalisé avec dma_element_generator

Messagepar tom-over » 15 Déc 2014 11:30

J'ai remarqué que dans la page "Configuration" du back-office il y avait :
RockSolid Custom Elements

Convert all RockSolid Custom Elements back into standard HTML.


ça sert à quoi ?

charled
Membre
Messages : 382
Inscription : 14 Juin 2008 15:54
Localisation : Au pied du Luberon…

Re: Modèle personnalisé avec dma_element_generator

Messagepar charled » 15 Déc 2014 11:44

tom-over a écrit :J'ai remarqué que dans la page "Configuration" du back-office il y avait :
RockSolid Custom Elements

Convert all RockSolid Custom Elements back into standard HTML.


ça sert à quoi ?


Et bien… je n'en sais rien car je n'ai pas encore compris comment fonctionne RockSolid…

Avatar de l’utilisateur
Bouctoubou
Modérateur
Messages : 143
Inscription : 20 Avr 2008 19:35

Re: Modèle personnalisé avec dma_element_generator

Messagepar Bouctoubou » 15 Déc 2014 13:51

tom-over a écrit :J'ai remarqué que dans la page "Configuration" du back-office il y avait :
RockSolid Custom Elements

Convert all RockSolid Custom Elements back into standard HTML.


ça sert à quoi ?

C'est pour généré du code HTML à la place des champs dynamiques. Pas bien compris l’intérêt à vrai dire, même si on peut revenir en arrière.
http://www.telly-d.com

Avatar de l’utilisateur
Bouctoubou
Modérateur
Messages : 143
Inscription : 20 Avr 2008 19:35

Re: Modèle personnalisé avec dma_element_generator

Messagepar Bouctoubou » 15 Déc 2014 13:51

charled a écrit :
tom-over a écrit :J'ai remarqué que dans la page "Configuration" du back-office il y avait :
RockSolid Custom Elements

Convert all RockSolid Custom Elements back into standard HTML.


ça sert à quoi ?


Et bien… je n'en sais rien car je n'ai pas encore compris comment fonctionne RockSolid…

Il y a un exemple dans un zip sur la doc en Allemand.
http://www.telly-d.com

charled
Membre
Messages : 382
Inscription : 14 Juin 2008 15:54
Localisation : Au pied du Luberon…

Re: Modèle personnalisé avec dma_element_generator

Messagepar charled » 15 Déc 2014 22:01

Merci Bouctoubou.

Ce que je ne comprend pas c'est s'il faut créer les deux fichiers à la main ou si le module RockSolid s'en charge ? S'il s'en charge, je n'ai pas trouvé comment car je n'ai aucune interface backend.


Revenir vers « Modèles et CSS »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités