web-dev-qa-db-fra.com

Comment attribuer un module à plusieurs postes?

Il existe déjà quelques questions à ce sujet, mais il s’agit principalement de vouloir plusieurs copies du même module sur une page.

Mon problème est la mise en page et les modèles. Les modèles ont souvent des noms différents pour les positions. Je veux une dénomination sémantique normalisée dans les modèles, s'il vous plaît ;-)

Alors que je teste un nouveau modèle pour mon site, je souhaite pouvoir basculer entre mes anciens et nouveaux modèles et les comparer. Et je ne veux pas parcourir tous les modules et leur donner de nouveaux postes à chaque fois.

Une solution serait de permettre à un module d'être placé dans plusieurs positions, en particulier dans différentes positions de module dans différents modèles. Par exemple. "top" dans le modèle A et "sur le contenu" dans le modèle B, car cela rendrait mon site similaire, quel que soit le modèle que je choisis.

Est-ce possible? N'était-ce pas une fonctionnalité de Joomla 1.5 ou suis-je en train de rêver? (Il s'avère que je était rêver ...)

En substance, je cherche un moyen de travailler sans problème avec une mise à niveau du site, y compris son modèle. Mon flux de travail souhaité serait quelque chose comme

  • créer un site en double
  • installer un nouveau modèle
  • trouver de nouvelles positions de module
  • ajouter de nouvelles positions de module sur le site d'origine
  • installer et activer un nouveau modèle sur le site d'origine

La quatrième étape est celle pour laquelle je cherche une solution.

7
thoni56

Heureux de rêver ... Pas possible - à l'époque (J1.5) et maintenant.

Mais la partie de l'expérimentation est encore possible.
En fait, tout ce que vous avez à faire est de laisser le site original tel quel et de faire tout ce que vous voulez sur un site de développement.
Ainsi, ayant deux sites: l’original et le nouveau que vous développez, vous pouvez effectuer un nombre illimité de comparaisons entre eux.

De toute façon, je n'essaierai jamais de faire ce que vous voulez faire, à savoir changer/expérimenter/développer un modèle, sur un site actif ... et en général, ce n'est pas une pratique recommandée et je ne comprends vraiment pas comment les gens vont. et penser de cette façon.

Obtenir une copie du site en question, le restaurer dans un endroit où je peux travailler en paix sans craindre quoi que ce soit qui pourrait mal tourner, et me voilà avec toute la liberté d’expérimenter et de faire des erreurs. Il y a même des cas où je pourrais me retrouver avec plusieurs instances du site dev.

Par conséquent, bien que l'idée de pouvoir publier le même module sur plus d'une position ne semble pas une mauvaise fonctionnalité, cela ne devrait en réalité pas constituer un obstacle pour ce que vous voulez faire.

Mise à jour: modules de duplication

Je voulais l'inclure dans ma réponse initiale, mais d'une manière ou d'une autre, je l'ai contourné… Ce qui pourrait vous rapprocher de ce que vous demandez, est de dupliquer les modules et de les affecter aux nouveaux postes de module. Le bouton de lot est d'une aide ici. Ce n'est peut-être pas le moyen le plus efficace, mais ce n'est pas si difficile et difficile à faire. Lorsque vous avez terminé avec l'ancien modèle et les modules, vous pouvez les supprimer tous ensemble.

2
FFrewin

Une façon de faire est de créer votre module maître et de le placer dans une position de module personnalisée, par exemple "position-maître".

Créez ensuite un nouveau module HTML personnalisé pour chaque emplacement dans lequel vous souhaitez placer ce module personnalisé, en utilisant la position du modèle dans laquelle vous souhaitez charger le module.

Ensuite, utilisez {loadposition master-position} comme seul contenu du module HTML personnalisé.

Vous pouvez aussi utiliser {loadmodule custom-module-name} ou chargez votre module avec le bouton appelé Module dans les modules ou articles HTML personnalisés.


Remarque: vérifiez si vous avez activé ce plug-in dans Extensions> Plug-ins> Contenu - Charger des modules

3
Lance

Je reviens ici pour poster une suggestion alternative, après être tombé sur une extension qui pourrait aider avec les changements de site, les mises à jour, la modification, y compris le changement de modèle.

L'extension s'appelle StageIt et ajoute des fonctionnalités de transfert à Joomla. Ainsi, avec cette extension, vous pouvez créer/synchroniser un environnement de développement directement à partir de votre site Joomla et commencer à appliquer toute modification, sans que ces modifications ne soient "actives" jusqu'à ce que vous soyez complètement prêt.

Lorsque vous êtes prêt, vous pouvez synchroniser à nouveau et faire en sorte que le commutateur publie les modifications. StageIt prend également en charge les sauvegardes au moment de la synchronisation. Si quelque chose ne se passe pas comme prévu, vous pouvez revenir en arrière.

3
FFrewin

Il y a quelque temps, j'avais besoin de faire quelque chose de similaire et le meilleur moyen de résoudre
le code d'index de chaque position était doublé:

<jdoc:include type="modules" name="your-position" style="html5" />
  • Donc, si vous affectez un module à ce poste et que ce poste est divisé en plusieurs sections
    du modèle, sera facturé à tous.
  • Et si vous avez plusieurs modèles sur le même site, avec les positions et les styles
    définis dans les deux cas, votre module sera chargé également.

Cela augmente le temps de chargement du site, mais cela dépend bien sûr du nombre de
vous avez en double.

* Considère la réponse de @Lance, est un autre moyen de réaliser plusieurs modules
positions en utilisant {loadposition}. *

0
AlejandroVega