Comment créer une page uniquement avec des modules et aucun composant?


10

Dans joomla, j'ai besoin de lier chaque page à une vue des composants. Comment puis-je créer une page sans sortie de composant dessus?

Exemple: Sur ma page d'accueil, je veux uniquement une sortie de module. Pour cela, je peux lier la page d'accueil à un "article vide" mais existe-t-il une meilleure façon de le faire sans utiliser une extension tierce?


2
Utilisez-vous un modèle personnalisé ou un modèle commercial? Je demande parce que beaucoup d'entre eux ont la possibilité de fermer complètement la zone des composants.
Brian Peat

@BrianPeat J'utilise un modèle personnalisé
web-tiki

Ah ok. Eh bien, il y a plusieurs bonnes réponses ici qui devraient fonctionner alors :)
Brian Peat

Réponses:


15

Il n'y a pas vraiment de «meilleure façon» que cela.

La seule autre option consiste à vérifier si vous êtes sur la page d'accueil dans votre fichier de modèle. Pour vérifier si vous êtes sur la page d'accueil, vous pouvez utiliser la méthode décrite sur les documents ici:

http://docs.joomla.org/How_to_determine_if_the_user_is_viewing_the_front_page

et faites quelque chose comme:

<?php
$menu = JFactory::getApplication()->getMenu();

if ($menu->getActive() != $menu->getDefault()) { ?>
        <jdoc:include type="component" />
<?php } ?>

Et de cette façon, vous n'incluez jamais votre composant sur la page d'accueil


1
Attention à cette méthode: si vous avez un lien de la page d'accueil qui ne va pas vers une autre page, il peut apparaître cassé s'il se charge sous l'élément de menu de la page d'accueil! Recherchez tout lien similaire example.com/component/com_name/viewcar il se chargerait sous l'élément de menu par défaut et la sortie du composant ne serait pas affichée.
David Fritsch

Vous voudrez peut-être ajouter quelques vérifications supplémentaires pour vous assurer que le composant et la vue actuels ( JFactory::getApplication()->input->get('view')) ne sont pas également les mêmes que la vue du menu ( $menu->getActive()->view)
David Fritsch

@DavidFritsch: Je pense que $ menu-> getActive () -> view, devrait être $ menu-> getActive () -> query ['view'];
FFrewin


4

Vous pouvez avoir plusieurs dispositions de modèle dans votre fichier d'index.

<!--Layout 1-->
<?php if ($BConfig->html=='layoutA') : ?>

<jdoc:include type="component" />

<?php endif; ?>  <!--End Layout 1-->

<!--Dynamically Generated Layout 2-->
<?php if ($BConfig->html=='layoutB') : ?>

<jdoc:include type="modules" name="your-module"/>

<?php endif; ?> <!--End Layout 2-->

Assurez-vous ensuite que votre fichier templateDetails inclut l'option B. Ensuite, dans votre Joomla! modèles, vous pouvez configurer un modèle supplémentaire à l'aide de la mise en page b. Accédez à votre élément de menu d'accueil, sélectionnez ce modèle. Le composant ne se charge pas, mais votre module le fera.


2

Solution stupide, très similaire, mais assez simple:

  1. Créer une catégorie d'article
  2. Laissez-le sans contenu (articles)
  3. Créer un lien de menu vers celui-ci
  4. Assignez vos modules à ce lien de menu

Vous devrez peut-être désactiver certains détails à masquer pour cette catégorie dans les paramètres de catégorie et / ou d'élément de menu.


1
C'est fondamentalement la même chose que d'utiliser un article vide.
web-tiki

1

Vous pouvez créer un composant vide. Ainsi, dans le composant com_menus, vous pouvez décider que la page ne doit pas avoir de sortie en choisissant simplement ce composant vide. Dans ce composant, vous devez créer une vue et un modèle default.php vide avec le fichier default.xml, vous verrez donc cette option lorsque vous choisirez le composant dans le composant com_menus.


1

Les RocketThemes ont une fonction pratique pour masquer les articles en vedette de com_content.

J'utilise pour publier une catégorie vide pour minimiser la sortie et la cacher avec un style CSS.


1

Copiez le modèle, supprimez le composant jdoc et attribuez ce style à tout élément de menu ne nécessitant pas le composant.


0

À Joomla! 3.x, vous pouvez effectuer les opérations suivantes:

  • Créez d'abord vos modules,
  • Créez une nouvelle catégorie, à l'intérieur d'un nouvel article pour le site principal,
  • Vérifiez si vous avez activé le contenu du plugin - Charger les modules

Par défaut Joomla! inclut une bibliothèque appelée Bootstrap v2.3.2 , vous pouvez donc utiliser le css dans cette bibliothèque, par exemple le système de grille : http://getbootstrap.com/2.3.2/scaffolding.html#gridSystem

  • De là, dans votre article, vous pouvez voir un bouton appelé Module , créez simplement une grille simple ou très complexe et affectez vos modules à chaque bloc.

Un avantage que vous pouvez obtenir en utilisant cette méthode est que vous pouvez obtenir un modèle plus léger avec moins de positions et moins de code php, js et css, donc si vous n'avez pas besoin de nombreuses fonctionnalités, vous pouvez le créer vous-même.

Cordialement.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.