web-dev-qa-db-fra.com

Comment créer une mise en page de catégorie avec tous les articles affichés?

Bonjour la communauté Joomla,

J'aimerais créer une présentation de blog de catégorie dans laquelle tous les articles sont affichés avec tout leur contenu. C'est à dire. sans avoir l'article raccourci à la position "lire plus". Quel est le moyen le plus simple d'y parvenir?

Tout conseil est le bienvenu, merci.

3
SePröbläm

À propos de Joomla Intro et du texte intégral de l'article

Eh bien, voici comment cela fonctionne:

Lors de la création d'un article, vous avez la possibilité d'insérer un " Lire la suite " dans votre article.

Ce qui se produit lorsque vous insérez le Read More, c’est que le contenu de l’article est divisé en 2 morceaux et que ces 2 morceaux sont sauvegardés dans 2 colonnes de la base de données de la base de données #__content table.

Le texte avant le Read More va dans le introtext et le texte après le Read More dans la colonne fulltext.

Si vous n'utilisez pas le Read More, alors tout le texte est placé dans le introtext.

Plus tard, la disposition des catégories de blog rend toujours l'introtext de l'article.

Le moyen simple d'afficher le texte intégral dans la mise en page du blog:

Ainsi, le moyen le plus simple d’avoir une mise en page de blog de catégorie affichant le texte intégral est de ne pas insérer le Read More dans vos articles.

Désormais, si vous vous sentez un peu plus aventureux, vous pouvez personnaliser la présentation des catégories de blogs en fonction de vos besoins.


Autres dispositions

Je suggérerais de créer un élément de menu alternatif pour la présentation de la catégorie de blog, car cela vous permettra de créer des éléments de menu pour toutes les catégories tout en conservant différentes dispositions pour eux.

Et voici comment faire:

1. Créez les fichiers requis pour la mise en page alternative:

À l'intérieur :

composants/com_content/views/category/tmpl

Clonez (dupliquez) les fichiers listés ci-dessous et renommez les fichiers clonés:

  • blog.php dupliquer et renommer en-> blogfull.php
  • blog.xml -> blogfull.xml
  • blog_children.php -> blogfull_children.php
  • blog_item.php -> blogfull_item.php
  • blog_links.php -> blogfull_links.php

2. Editez le nouveau fichier XML
Ouvrez le fichier blogfull.xml et modifiez les lignes du haut:

<layout title="COM_CONTENT_CATEGORY_VIEW_BLOG_TITLE" option="COM_CONTENT_CATEGORY_VIEW_BLOG_OPTION">
        <help key = "JHELP_MENUS_MENU_ITEM_ARTICLE_CATEGORY_BLOG" />
        <message>
            <![CDATA[COM_CONTENT_CATEGORY_VIEW_BLOG_DESC]]>

à quelque chose comme:

<layout title="Blog Full Text" option="Blog Category Layout with Full Text">
        <help key = "JHELP_MENUS_MENU_ITEM_ARTICLE_CATEGORY_BLOG" />
        <message>
            <![CDATA[Blog Category Layout with Full Text]]>

3. Modifiez le nouveau fichier de modèle de l'élément de blog.
Ouvrez la ligne et la ligne d'édition autour de 47:

<?php echo $this->item->event->beforeDisplayContent; ?> <?php echo $this->item->introtext; ?>

Changer en:

<?php echo $this->item->event->beforeDisplayContent; ?> <?php echo $this->item->introtext; echo $this->item->fulltext; ?>

4. Créer des éléments de menu avec votre nouvel élément de menu alternatif

Vous aurez maintenant un nouvel élément de menu à choisir pour les mises en page de blogs de votre catégorie. Allez dans Menu Manager et créez un nouvel élément de menu pour le composant articles. Lorsque vous êtes sur le point de choisir leur type d'élément de menu, vous trouverez un nouveau type: Texte intégral du blog . * Assurez-vous que vous ajusterez les paramètres/options de l'élément de menu pour répondre au reste de vos besoins (afficher/masquer la lecture, etc.).

Documentation: Autres éléments de menu

9
FFrewin

Je dirais que rien de ce qui précède ne résout complètement la situation générale lorsque vous avez un article dans lequel vous souhaitez avoir le lien/bouton "Lire la suite ...". Donc, masquer "Lire plus" (dans les paramètres d'élément de menu ou les paramètres d'article) fera exactement ce qui est dit - cela cachera simplement readmore et tout l'article ne s'affichera plus à la fin.

Dans ce cas, vous devez créer un remplacement pour la vue de blog de catégorie.

Allez à Extensions - Gestionnaire de modèles - Modèles (à gauche) - cliquez sur le titre de votre modèle de site par défaut. Maintenant, vous éditez votre modèle plus "proche" de son code php. Peu importe que vous ne sachiez pas php, vous pouvez le faire ici.

Choisissez "Créer des remplacements" onglet en haut. Dans les listes, cliquez sur com_content (colonne du milieu) -> catégorie. Joomla a créé tous les dossiers et fichiers que vous devez modifier maintenant. Il vous suffit de changer quelques lignes pour votre problème particulier. Allez maintenant dans l'onglet "Editeur" -> cliquez sur le dossier html, puis com_content -> catégorie. Le fichier dont vous avez besoin est blog_item.php Cliquez dessus et vous le verrez à droite. Maintenant, vous devez éditer la ligne autour de 47 dans ma version de Joomla (3.4.1) qui est:

<?php echo $this->item->event->beforeDisplayContent; ?> <?php echo $this->item->introtext; ?>

Changer en

<?php echo $this->item->event->beforeDisplayContent; ?> <?php echo $this->item->introtext.$this->item->fulltext; ?>

Maintenant, cliquez sur Enregistrer et fermer. Actualisez votre page où vous avez vue catégorie blog et vous obtiendrez le texte intégral de votre article. Cela fonctionnera si le paramètre "Afficher le texte d'introduction" est défini sur Afficher dans les paramètres d'options du menu et si je suppose que vous souhaitez le conserver. Par défaut, c'est Afficher en configuration globale. En outre, vous pouvez définir "Afficher plus" sur "Masquer" dans le même élément de menu, car vous n'en avez pas vraiment besoin maintenant.

De cette façon, vous garderez le lien "En savoir plus" pour toutes les autres instances de vos articles, à l'exception de la vue des catégories de blogs.

2
pippo8765

En ce qui concerne la question initiale. Affichage de l'article complet sans l'introtexte.
Un moyen très simple qui ne nécessite aucune expérience de codage.
Dans la catégorie, sous la 4ème liste déroulante "Options de la vue Article dans les listes de catégories" Il existe une option permettant de choisir la limite de mot Introtext. Si vous laissez ce champ vide, il affichera par défaut tout le texte de l'article.

Simple, fait et rien ne doit être personnalisé!

1
Tony M

Si c'est pour un site Web plus petit, vous pouvez simplement créer un élément de menu pour une vue de blog dans l'onglet "Blog Layout" (Mise en page de blog) et placer pour le nombre d'articles de référence un grand nombre comme 999999. Les 999999 premiers articles de cette page seront affichés. catégorie en tant que texte intégral (mais aussi largeur totale/1 colonne, vous ne pouvez donc pas utiliser le paramètre de colonnes multiples car cela est pour les articles d'introduction).

0
Luc Castermans