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?

web-tiki
la source
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
2
Question similaire: joomla.stackexchange.com/questions/5056/…
FFrewin

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

George Wilson
la source
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
5

Dans le JED, il y a aussi un composant "vide" qui vous permet de publier un élément de menu afin que vous puissiez placer uniquement des modules.

http://extensions.joomla.org/extensions/style-a-design/personal-layout/17363

Toni Marie
la source
J'ai eu un problème avec cette extension, elle n'inclut pas router.phpce qui fait que les URL invalides ne répondent pas avec 404.
Flimm
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.

Faye
la source
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.

Ivo
la source
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.

csbenjamin
la source
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.

Anibal
la source
1

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

sovainfo
la source
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.

AlejandroVega
la source