J'ai souvent besoin de créer un élément de menu qui affiche un module dans la zone des composants, sans autre contenu.
La façon dont je résous ce problème est de créer un nouvel article et de l'ajouter uniquement {loadposition mymodule}
dans le contenu de l'article. Ensuite, je crée un élément de menu Article unique pour l'article. C'est bien pour un seul module, mais que faire si j'ai 20 modules différents que je veux afficher de cette façon? Je devrais créer 20 modules, 20 articles (presque vides) et 20 éléments de menu.
Existe-t-il d'autres façons d'afficher un module (et rien d'autre) dans la zone des composants d'un modèle? Des trucs? Hacks? Des idées?
joomla-3.x
joomla-2.5
module
templates
content
johanpw
la source
la source
Réponses:
J'ai fait cela en créant une position de module au même endroit avec le composant et en vérifiant si un module est présent à cette position puis l'affichez, sinon optez pour le composant:
Échantillon de code:
Ensuite, lorsque je veux afficher un module au lieu d'un composant dans une page, je crée le module en l'assignant à cet élément de menu et j'ai terminé.
Une petite note latérale:
Pour plus de commodité et de clarté, je suggère de nommer cette position de module quelque chose comme "module de contenu", "module principal" ou "module". Tout ce qui rappellera que tout module positionné là-bas remplacera la sortie du composant.
la source
Pour améliorer les réponses données ici:
Pour inclure une position de module dans votre vue des composants et y charger des modules, il vous suffit d'ajouter
dans le fichier de vue.
La deuxième chaîne avec la balise short load position peut être remplacée par une var qui contient plus de html si vous en avez besoin. Vous n'avez pas à écrire cette ligne pour chaque nouvelle position de module:
(Je sais que ce n'est pas une réponse directe à la question des auteurs.)
la source
Voici une solution simple et fonctionnelle. J'ai essayé avec jdoc: include mais cela n'a pas fonctionné.
la source
J'ai dû faire la même chose sur mon site pour les démos d'extensions et les boutons de téléchargement, mais en toute honnêteté, je pense que garder les choses séparées est à certains égards mieux car c'est plus facile à gérer. Non seulement je suis presque sûr qu'il n'y a aucun moyen de réaliser ce que vous cherchez via le CMS réel, seulement un code dur (n'en dites pas plus).
la source
Tout d'abord, selon votre question, vous créez déjà 20 modules et 20 éléments de menu, donc la seule chose supplémentaire que vous devez faire est de créer un élément de contenu d'une ligne pour chaque module. Si c'est vraiment si onéreux, alors allez-y avec l'idée de @ FFrewin. C'est un peu hacky, mais ça marchera.
Personnellement, j'irais avec les éléments de contenu. En fait, je l'ai fait lorsque je construisais un système avec des boîtes de dialogue contextuelles que je voulais également que le travail sans js soit activé. J'ai mis le contenu de la boîte de dialogue dans un module custom_html, truqué le module pour qu'il soit révélé et positionné lorsqu'un lien a été cliqué. Et puis j'ai également pointé le lien vers un élément de contenu, y compris le module comme vous l'avez décrit. Si js était activé, le lien n'a pas été suivi et la boîte de dialogue a été révélée. Si js était désactivé, le lien était suivi et le contenu de la boîte de dialogue était affiché en tant que contenu. Et le contenu était au même endroit, donc je ne conservais pas deux copies distinctes du contenu.
la source
La manière la plus propre de le faire est d'utiliser: http://extensions.joomla.org/extension/m2c-module-to-component
la source
Essaye ça
réf: /programming/12225538/how-we-include-a-joomla-module-in-a-component-view-in-joomla
la source
Créez un article vierge.
Créer un élément de menu en sélectionnant l'article que vous avez créé.
Créer un module dans une position inutilisée, définir l'attribution de menu uniquement sur les pages sélectionnées, sélectionner uniquement l'élément de menu ci-dessus.
Étant donné que c'était au sommet, je pensais fournir ma réponse, c'est ce que je fais.
la source