Afficher une catégorie sans article

danielsandanielsan Member
juin 2012 modifié dans Entraide
Bonjour,


je cherche à afficher une catégorie même quand celle-ci n'a aucun article de rattaché ...


Actuellement ça me met "UNE ERREUR A ÉTÉ DÉTECTÉE : Aucun article pour cette page !".


Je préférerais afficher la catégorie en question avec un message personnalisé ... quelqu'un a-t-il une idée d'où le code ce passe pour ça ?


Cordialement,
_____
D.San

Réponses

  • zakar!zakar! Member
    Cela faisais parti du core dans une version antérieur.
    Suite à une demande d'un membre de justement ne pas afficher une catégorie si aucun article, Stéphane avais donc maj dans ce sens ce qui est logique dans un sens puisque pas prévu de sous-catégories.
    Pourquoi ne pas jouer avec les tags si c'est dans cet optique d'utilisation?
  • Je comprends bien que cela soit logique et je ne remets pas en question ce fait.


    C'est juste que je suis dans une configuration particulière:
    une gestion de fiches revendeurs.
    J'ai finalement opté pour la création d'autant de catégories qu'il y a de pays/département :(
    Une page static sur laquelle est présent un formulaire de recherche renvoie sur la catégorie appropriée.


    Je crois avoir trouvé la solution à l'instant: d'abord vérifier s'il y a des articles dans la catégorie avec de rediriger, sinon afficher un message perso.


    Dur-dur l'attente des vacances ... :cool:
  • sbrsbr Member
    J'ai rencontré la même problématique. Je souhaitais afficher toutes les catégories du blog, y compris celles sans article, et je trouvais ça moyen d'afficher un message d'erreur dans ce cas là. Pour contourner le problème, ne connaissant pas le langage php, j'ai tout simplement supprimé le message dans le fichier erreur.php se trouvant à la racine de mon thème. La solution fait un peu bidouille mais ça permet d'avancer ;)
    sylvain
  • danielsandanielsan Member
    juin 2012 modifié
    $catNum est le numéro de la catégorie pour laquelle on fait les tests ...
    $motif = '/^[0-9]{4}.+'.$catNum.'+.[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/';
    	if($aFiles = $plxMotor->plxGlob_arts->query($motif,'art','rsort', 0, false, 'before')) {
    		// s'il y a des articles dans la catégorie
    	}else{
    		// s'il n'y a pas d'article
    	}
    


    Cordialement,
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    voilà une solution "propre"
    		<div id="article">
    
    		<?php if($plxShow->plxMotor->get AND preg_match('/^categorie([0-9]+)\/?([a-z0-9-]+)?/',$plxShow->plxMotor->get)) : ?>
    				
    				MESSAGE
    				
    		<?php else : ?>
    			
    				<h2><?php $plxShow->lang('ERROR') ?> :</h2>
    				<div class="error-content"><?php $plxShow->erreurMessage(); ?></div>
    				
    		<?php endif; ?>
    		</div>
    

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Salut Stéphane,


    ce code est à placer dans quel type de template ?


    Actuellement je suis dans un templte static avec ça:
    $motif = '/^[0-9]{4}.+'.$catSearch.'+.[0-9]{3}.[0-9]{12}.[a-z0-9-]+.xml$/';
    if($aFiles = $plxMotor->plxGlob_arts->query($motif,'art','rsort', 0, false, 'before')) { // s'il y a des articles dans la catégorie visée
    	header('Location: '.$urlCat); // on redirige vers la catégore
    }else{ // sinon message d'erreur
    	echo "<div class=\"row\"><div class=\"space_3 margin_b2\"><a href=\"\" class=\"grid_6 center btn\">Il n'y a pas de revendeurs dans le ".$catName_rev[$catSearch]."<br/>Trouvons une solution ensemble, <strong>contactez-nous</strong>.</a></div></div>\n";
    }
    


    Cordialement,
    _____
    D.San
  • StéphaneStéphane Member, Former PluXml Project Manager
    dans le fchier erreur.php du theme

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • ok je comprends pourquoi ça ne fonctionnait pas ;)
    bon ça ne correspond pas à ce que je souhaite faire, mais je retiens.
  • StéphaneStéphane Member, Former PluXml Project Manager
    bien entendu il faut dans les paramètres d'affichage du site, activer l'affichage des catégories meme s'il n'y a pas d'articles dedans

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • bonne solution !!!
  • merci Stéphane.
    j'ai couplé ta solution avec celle que j'ai mis en place.
Connectez-vous ou Inscrivez-vous pour répondre.