Bonjour,
J'utilise un plugin forum, et j'aimerais garder le meme template que le template general du site.
comment faire ? car il semble que chaque plugin a sa propre vue

16 réponses


Lartak
Réponse acceptée

Non, car le Plugin du forum utilise des scripts javascripts et des variables dans son layout, il te faudra donc les reporter dans ton layout également.
Pour ne citer que les pricipaux sans compter les css.

<?php echo $this->OpenGraph->html();
echo $this->Html->script('Admin.titon.min');
    echo $this->Html->script('Forum.forum');
    if ($this->params'controller'] === 'forum') {
        echo $this->Html->meta(__d('forum', 'RSS Feed - Latest Topics'), array('action' => 'index', 'ext' => 'rss'), array('type' => 'rss'));
    } else if (isset($rss)) {
        echo $this->Html->meta(__d('forum', 'RSS Feed - Content Review'), array($rss, 'ext' => 'rss'), array('type' => 'rss'));
    }
    $locales = $config'Decoda']'locales'];
    $this->OpenGraph->name($settings'name']);
    $this->OpenGraph->locale(array($locales[Configure::read('Config.language')], $locales$settings'defaultLocale']]));
    echo $this->OpenGraph->fetch();

Sans ça, ton plugin ne fonctionnera qu'à moitié de ses capacités.
Un Plugin, surtout de forum, ce n'est pas un truc que tu télécharges sans rien avoir à faire de plus, alors si tu veux en plus qu'il colle parfaitement à ton design de base, ça te donne un peu plus de travail.

Bonjour.
Il te suffit d'indiquer par exemple à l'AppController du plugin Forum d'utiliser ton layout.
Je pense qu'il doit s'appeller comme ceci : ForumAppController , et tu y met dans le beforeFilter :

$this->layout = 'tonLayoutHabituel';
sylvain
Auteur

Donc le layout sera alors le principal, mais les vues ? elle devront etre modifié dans le plug in ?

Les vues se sera celles du Plugin oui, tu devras modifier toutes les vues du Plugin si tu ne veux pas qu'elles soient comme elles sont actuellement.

sylvain
Auteur

Qu’est ce que ça veut dire ceci ? c'était dans la doc du plug-in forum

Configure::write('Forum.viewLayout', 'default'); est-ce la même chose que tu as proposé @Lartak11 ?

C'est toujours le layout, ça ne prends pas en compte les vues.
La ligne est commentée ou non ?
C'est quel Plugin de forum, celui de miles.j ?

sylvain
Auteur

Elle n'est pas commenté,
oui c'est celui de miles.j

Même si tu mets 'default' par rapport à ton layout, il cherchera ton layout dans le Plugin, vu qu'à la base c'est le layout 'forum' et qu'il est placé dans le dossier Layouts du Plugin du forum.
Par contre, même si tu veux utiliser ton layout à la place de celui du plugin, il te faudra rajouter les scripts du Plugin du forum et d'autres trucs.

sylvain
Auteur

Ce n'est pas clair pour moi, a partir de "il faudra rajouter les scripts du plugin du forum et d'autres truc".
Est ce que ca $this->layout = 'tonLayoutHabituel'; ne suffit pas ?

sylvain
Auteur

Je me demande si ce ne serait pas mieux d'integrer le forum directement dans l'application general, plutot qu'un plugin.

Tu peux le faire, mais ça n'empêche pas que tu auras aussi les vues à modifier pour que les éléments des pages puissent coller avec ton design principal et vu que le plugin du forum utilise des fichiers javascripts depuis son layout, il te faudra aussi les rajouter sur ton layout principal, donc au final ça ne changera pas grand chose.

sylvain
Auteur

Merci, pour tes réponses.

J'ai l'impression d'ouvrir la boite de pandore a chaque fois que je touche a quelques choses. Ou les poupées russes, un probleme en cache un autre.
LOL

Disons simplement que les plugins de ce genre utilisent leurs propres css ou/et js, alors du coup si tu veux modifier quelque chose pour que ça colle plus à ton site, ça te donne un peu plus de travail.
Mais bon, vu quand même la "qualité" de ce plugin, car il a quand même beaucoup de fonctionnalité, il ne faut pas se plaindre.
Et puis, si je ne me trompe pas, les tableaux et autres, sont dans des éléments.
Tu ne devrais donc pas avoir grand chose à modifier pour les vues.

sylvain
Auteur

Est-ce que tu l'a installé quelque par ? Je n'ai jamais réussi à voir une démo. J'ai installé, mais ca semble une coquille vide, il reste plein de travaille a faire pour le faire fonctionner. Et la doc est loin d'être clair pour un novice qui veut mettre en place un forum.

Ce qui me pose problème dans ce plug-in , c'est qu'il y a plein de dépendance, notamment, les ACL et les security. Ce qui me pousse à me demander comment va fonctionner mon application si je ne maitrise pas encore toutes ces bonnes choses en tant qu'apprenti boulanger c'est trop

J'ai pu le faire fonctionner "normalement" une fois, les autres fois que j'ai testé, il m'a toujours posé des problème avec Decoda.
À priori il faut principalement l'installer avec composer.
Pour ce qui est de ACL et Security, ce n'est normalement utilisé que pour le plugin, sauf si tu définis les deux sur le reste de ton application.

sylvain
Auteur

Donc c'est possible d'activer les ACL juste sur le plugin ? La je suis encore plus embrouillé.