Catégorie

Hello,
Est-il possible lorsque l'on clique sur une catégorie d'afficher la liste de tous les articles présents dans cette catégorie mais sans afficher le contenu des articles.
L'internaute doit cliquer sur le titre de l'article désiré pour accéder au contenu de l'article.

Merci

Réponses

  • cpalocpalo Member
    février 2017 modifié
    Bonjour,

    J'avais utilisé ceci (avec un pluxml 5.3),
    le lien vers mon site de demo à cet effet :Demo Menus Pluxml-5.3
    Par rapport à ta question, regarde le résultat dans la sidebar. Je pense qu'il suffit de copier le résultat de la sidebar dans la page que tu souhaites créée.
     <h4> Catégorie en cours</h4>
        <?php
        $idCat = $plxShow->CatId();
        $plxShow->catList('','<a href="#cat_url" title="#cat_name">#cat_name</a>',$idCat);
        $plxShow->lastArtList('<li class="#art_status"><a href="#art_url" title="#art_title">#art_title</a></li>','12', $idCat);
        ?>
    
    <h4>Catégories suivies des articles rattachés</h4>
        <ul>
        <?php
    		$menu = array('003', '002', '004', '001'); // lister ici les catégories à afficher.
    		foreach($menu as $id_cat) {
    			$plxShow->catList('','<li id="menu_#cat_id" class="#cat_status">',$id_cat);
    			echo "\n";
    			$plxShow->catList('','<a href="#cat_url" title="#cat_name">#cat_name</a>',$id_cat);
    			echo "\n";
    				echo "<ul>\n";
    					$plxShow->lastArtList('<li class="#art_status"><a href="#art_url" title="#art_title">#art_title</a></li>','20',$id_cat);
    			echo "\n";
    				echo "</ul>\n";
    			echo "</li>\n";
    		}
    		?>
        </ul>
    
    <h4>Catégories suivies des articles rattachés <br />affichage limité et voir tous les articles</h4>
        <ul>
        <?php
    		$menu = array('003', '002', '004', '001'); // lister ici les catégories à afficher.
    		foreach($menu as $id_cat) {
    			$plxShow->catList('','<li id="menu_#cat_id" class="#cat_status">',$id_cat);
    			echo "\n";
    			$plxShow->catList('','<a href="#cat_url" title="#cat_name">#cat_name</a>',$id_cat);
    			echo "\n";
    				echo "<ul>\n";
    					$plxShow->lastArtList('<li class="#art_status"><a href="#art_url" title="#art_title">#art_title</a></li>','20',$id_cat);
                        $nb_item = 3; // nombre d'articles maxi affichés dans le menu
                        $nb_ArtCat = $plxShow->plxMotor->nbArticles('(?:[0-9]|home|,)*(?:'.$id_cat.')(?:[0-9]|home|,)*', '[0-9]{3}', '', 'before'); 
                        if($nb_item<$nb_ArtCat){ // si le nombre d'articles de la catégorie est supérieur à $nb_item, on affiche un lien "Voir tous les articles"
                        $plxShow->catList('','<li id="menu_#cat_id"><a href="#cat_url" title="Voir tous les articles de la cat&eacute;gorie #cat_name">Voir tous les articles</a></li>',$id_cat);
                        }else{}
    			echo "\n";
    				echo "</ul>\n";
    			echo "</li>\n";
    		}
    		?>
        </ul>
    

    Cordialement
  • Hello,
    Merci pour vos retours mais je dois avouer que mes compétences en php sont très limitées.
    Comment dois-je modifier le fichier catégorie.php du thème pour que cela fonctionne ?
    :)
  • cpalocpalo Member
    février 2017 modifié
    Je suis comme toi avec des compétences limitées en php. Je suis en train de travailler sur mon nouveau thème pour la 5.6; je ferai des essais et te redirai.
    Mais déjà je pense qu'il faut que tu crées un nouveau template de catégorie : par exemple categorie-list.php qui ressemblerait au code ci-dessous et dans laquelle il faudrait insérer une partie du code que je t'ai joint.
    A creuser donc....
    Peut etre que les spécialistes codeurs du forum pourront apport un coup de main.
    <?php include(dirname(__FILE__).'/header.php'); ?>
    	<main class="main">
    		<div class="container">
    			<div class="grid">
    				<div class="col sml-12 med-8">
    
    
    
    				</div>
    				<?php include(dirname(__FILE__).'/sidebar.php'); ?>
    			</div>
    		</div>
    	</main>
    <?php include(dirname(__FILE__).'/footer.php'); ?>
    
  • Je viens d'aller sur ton site, et peut etre qu'il y a plus simple.
    Tu as un menu plan du site qui affiche la liste de tous tes articles par catégorie par le biais du plugin allmyarchives.
    Il existe peut etre un parametrage de ce plugin pour n'afficher qu'une catégorie
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    La meilleure solution est celle donnée par cpalo
    - Soit en dupliquant le fichier categorie.php du theme (sous la forme categorie-xxx.php) pour en faire un template de catégorie, en ne laissant dedans que l'affichage des titres. Sélectionner alors dans les options d'une catégorie le fichier template à utiliser.
    - Soit en modifiant directement le fichier categorie.php du theme et l'affichage sera alors identique pour toutes les catégories (rien de + à faire dans ce cas)

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • cpalo a écrit:
    Je suis comme toi avec des compétences limitées en php. Je suis en train de travailler sur mon nouveau thème pour la 5.6; je ferai des essais et te redirai.
    Mais déjà je pense qu'il faut que tu crées un nouveau template de catégorie : par exemple categorie-list.php qui ressemblerait au code ci-dessous et dans laquelle il faudrait insérer une partie du code que je t'ai joint.
    A creuser donc....
    Peut etre que les spécialistes codeurs du forum pourront apport un coup de main.
    <?php include(dirname(__FILE__).'/header.php'); ?>
    	<main class="main">
    		<div class="container">
    			<div class="grid">
    				<div class="col sml-12 med-8">
    
    
    
    				</div>
    				<?php include(dirname(__FILE__).'/sidebar.php'); ?>
    			</div>
    		</div>
    	</main>
    <?php include(dirname(__FILE__).'/footer.php'); ?>
    

    Hello,
    Solution choisie !
    Merci
    et Merci @ Stéphane
Connectez-vous ou Inscrivez-vous pour répondre.