web-dev-qa-db-fra.com

Pourquoi un article n'apparaît-il pas lorsque vous suivez certains liens?

Lorsque j'essaie d'accéder à un article en suivant un lien comme celui-ci
index.php?option=com_content&view=article&id=9, le message apparaît comme prévu.

Cependant, lorsque j'utilise le lien index.php/2-uncategorised/9-assurance, la page de couverture apparaît à la place de l'article.

Pourquoi cela se produit-il et comment puis-je le réparer?

mon code index.php:

<?php if ($menu->getActive() == $menu->getDefault()): ?>

    <jdoc:include type="modules" name="index" style="html5" />
    <?php echo '<h1>Test</h1>' ; ?>

<?php else:  ?>

    <div class="container shadow p-2 mb-2 bg-white rounded">
       <div class="row">
           <div class="col-4"><img class="img-fluid rounded " src="templates/agmaTheme/images/demmanderDevis.jpg" /></div>
            <div class="col-8 ">
                <div class="shadow-sm bg-light rounded mb-2">
                    <div class="breadcrumbs">
            <jdoc:include type="modules" name="breadcrumbs" style="html5" />
                </div>
            </div>
            <div class="shadow-sm bg-light rounded p-1"> 
                <jdoc:include type="component" />
            </div>
        </div>
    </div>
</div>

<?php endif; ?>
1
TheLordOne

index.php/2-uncategorised/9-assurance Résout l'élément de menu par défaut, donc la condition $menu->getActive() == $menu->getDefault() est remplie.

Je conseille fortement de ne pas cacher le composant. Si vous le faites, le contenu de toute page résolue en élément de menu par défaut ne sera pas affiché. Cela cassera une partie des fonctionnalités de votre site.

1
Sharky

Joomla utilise éléments du men afin de savoir quels modules, dispositions, etc. afficher. Dans votre cas, les articles/catégories en question n’ont pas d’élément de menu assigné pour leur affichage; ils passent donc par défaut à celui de la page d’accueil (qui est très probablement un élément en vedette un ??).

Étant donné que vous ne souhaitez pas afficher la sortie des composants sur la page d'accueil, je pourrais vous suggérer de faire de votre élément de menu de la page d'accueil un élément de menu Article simple. Créez un article de page d'accueil vide et affectez-le-là.

Ensuite, pour votre catégorie non catégorisée (ou toute autre catégorie), créez une catégorie ou des éléments présentés dans un élément de menu - vous pouvez le définir sur masqué si vous ne souhaitez pas qu'il soit affiché dans vos menus - et les articles de cette catégorie seront alors affichés. affiché sous cet élément de menu, en utilisant ses paramètres.

De cette façon, la vérification dans votre modèle:

if ($menu->getActive() == $menu->getDefault())

se traduira par False, et vous aurez la sortie de votre composant pour ces articles.

0
FFrewin