Étoffer la fonction lastArtList()

Bonjour,

J'ignore si je poste dans le bon forum.

La fonction lastArtList() permet d'afficher les derniers articles postés avec en option différents éléments permettant de personnaliser la sortie.
documentation pluxml.

Par exemple, nous pouvons afficher un extrait du chapo ou du contenu. Mais en outre, il y a un champ tout fait indiquée pour faire le résumé concis d'un article : c'est la balise meta description de l'article.

Serait-il possible d'ajouter cette balise dans les arguments de lastArtList() ?

Matthieu

Réponses

  • J'ajoute un point qui pourra standardiser entre deux fonctions sans faire sauter la banque.

    Dans la fonction catList, nous avons deux paramètres qui agissent sur la liste d'affichage, un $include qui liste quelles catégories nous voulons mettre de l'avant et $exclude qui précise lesquelles nous voulons exclure de l'affichage. On n'utilise bien entendu que l'un des deux à la fois.

    Ailleurs nous avons la fonction lastArtList qui utilise "$cat_id=' ' " pour effectuer la fonction "inclure" mais je viens à l'instant de rencontrer une situation où la variante "exclure" me serait très pratique.

    Ma suggestion est de normaliser les deux "fins de fonction" pour inclure toute la panoplie (include, exclude, le tri, le nombre maximum) de fonctions dans les deux cas, et pourquoi en utilisant les mêmes mots puisqu'on y est. Voilà, c'était ma demande du jour.
  • StéphaneStéphane Member, Former PluXml Project Manager
    @Pierre:
    - pour exclure une catégorie de l'affichage dans la liste des catégories: Administration > Catégories > colonne Menu -> masquer
    - pour ne pas lister les articles d'une catégories: Administration > Catégories > colonne Active -> non

    Tout se fait à partir de l'admin. Pas besoin de coder quelque chose dans catList()

    Consultant PluXml

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

  • Je parlais d'ajouter les paramètres aux fonctions pour les rendre dynamiquement adressables. Les réglages mentionnées font que ces itemjs ne seront jamais affichés, ma suggestion permet de les afficher selon les conditions d'une page alors que tout doit fonctionner normalement ailleurs. J'utilise le plus possible les fonctions de base mais je me vois souvent forcé de changer refiltrer les items pour en retirer quelques-uns.
  • StéphaneStéphane Member, Former PluXml Project Manager
    sauf que catList et lastArtList ne s'utilisent pas du tout dans les memes conditions, ce que ne justifie pas d’avoir ce genre de paramètre pour catList

    Consultant PluXml

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

  • J'utilise ces deux fonctions à de très nombreux endroits, probablement bien plus souvent que dans leur rôle habituel, tant mieux. Mais aussitôt que je dépasse les besoins habituels, je suis obligé de passer à la boucle WHILE (un peu comme dans la page de catégorie) et tester chaque ligne pour n'afficher que les items désirés à ce moment.

    Les situations où je dois me rabattre sur cette méthode sont de plus en plus fréquentes, c'est dommage parce que le simple ajout de ces fonctions facultatives pourrait ouvrir les possibilités.
  • tu pourrais nous montrer une extension avec un exemple d'utilisation qui te pose problème ?
    comme ça on verra mieux ce dont tu as besoin
  • Mon dernier défi était d'identifier une liste d'articles qui font partie de deux catégories précises, elles doivent être toutes deux présentes. Parmi une centaine d'articles, certains ont une, deux ou plusieurs catégories qui lui sont associées. Je descend la liste (totale) des articles avec le WHILE, je fais pour chacun une extraction de toutes ses catégories associées, je compare chacune avec mon duo de critères, j'accepte (et affiche) celle qui ont les deux fonctions et rejette celles qui n'en ont qu'une des deux, ou celles qui ne correspondent pas du tout. Si les deux sont là, il peut y en avoir plus, pas de problème, on accepte.

    Un autre cas, j'utilise la catégorie "home" pour identifier quels articles vont faire partie du slider de la une. À un autre endroit, toujours sur l'accueil, je liste les derniers articles en ordre chronologique inversé qui font partie de la catégorie Nouvelles (celui-ci est assez simple).

    Alors, je rencontre souvent les cas où j'aimerais lister un sous-groupe d'articles, soit de quelques catégories distinctes ou encore les articles de toutes les catégories sauf quelques-unes. En remarquant que certains paramètres étaient présents pour lastArtList et d'autres utilisés pour catList, je me permettais la suggestion d'ajouter le plus de paramètres de ce genre (inclure, exclure, trier, aléatoire, un nombre max...) aux deux fonctions en prévision de mes aventures futures. C'est souvent quand on a accès à un paramètre qu'on imagine quoi en faire.
  • dans la prochaine version de PluXml 5.5
    afin d'atteindre via la méthode lastArtList() le nouveau champ thumbnail :
    [== PHP ==]
    # On modifie nos motifs
    [...]
    $imgUrl = $art['thumbnail'];
    if($imgUrl) {
    	$row = str_replace('#img_url', $this->plxMotor->urlRewrite($imgUrl), $row);
    	$row = str_replace('#img_alt', basename($imgUrl), $row);
    }
    # On genère notre ligne
    echo $row;
    
  • PierrePierre Member
    décembre 2015 modifié
    On verra si ce champ thumbnail répond à un besoin de nos collègues mais malheureusement, dans mon cas, pas un seul de mes sites ne génère de miniatures. J'identifie la plus grande valeur de hauteur et de largeur "native" sur le site et je règle le format d'importation pour maximiser la résolution. À noter de la valeur de hauteur maximale n'a pas obligatoirement à être tirée du même gabarit (placeholder) que celle de la largeur maximale. Avec ces deux valeurs maximisées, je sais que le rognage qui suivra ne va pas subir une extrapolation et pixelliser l'image à l'écran.

    En utilisant le plugin Vignette et l'utilitaire cImage, on peut générer à la volée toutes les images nécessaires pour un affichage d'une page normale en produisant la qualité nécessaire. Même dans le cas des pages de portfolio, disons une ou deux douzaines d'images, le traitement se fait assez rapidement pour ne pas gêner l'expérience usager.
  • de mon côté ce nouveau champ a vite été adopté !
  • Si tu peux me convaincre de l'utilité de créer, de stocker et de gérer deux copies de toutes tes photos quand je peux tout faire avec une, je serai partant mais, pour moi, la simplicité est plus facile à vendre!
  • c'est juste un champ pour renseigner une url ... après t'en fais ce que tu veux ... j'imagine que t'as exploré les fonctions natives de pluxml qui jouent sur les images ... ;)
  • Bonjour,

    Pour moi c'est également adopté. C'est ce que j'attendais comme fonctionnalité. Ensuite on peut l'utiliser facilement dans des thèmes, et sans utilisation de plugin supplémentaire.

    Cordialement
  • Je ne parlais que des miniatures, pas des vertus de la fonction d'url d'image, celle-là est un don du ciel pour moi et pour tous ceux qui n'en peuvent plus de m'entendre chanter les louanges du plugin Vignette.

    Si la fonction peut produire une variable distincte qui donne l'url dans le dossier média (ou pourquoi pas ailleurs aussi) comme elle semble le faire, elle sera la bienvenue. Parce que si c'est le cas, elle pourra remplacer le plugin Vignette et permettra d'intégrer cette fonction dans un script comme je le fais presque partout.

    Parce que le fichier utilitaire cImage, que l'on voit accompagner tous les thèmes que j'ai intégrés, offre lui aussi des fonctions très évoluées. Si j'y connaissait la moindre chose dans vos hook machins, j'en ferais sans doute un plugin mais la tâche est bien au-delà de mes compétences et le tout fonctionne parfaitement avec le simple ajout du fichier img.php .

    Mes fonctions tant recherchées sont le rognage, la sous-exposition (ou sur-, bien entendu) , l'orientation, etc. Les artistes CSS nous diront que tout cela peut se faire par leurs mains habiles mais rien ne battra la simplicité d'un appel au fichier img.php accompagné de quelques paramètres nécessaires à un usage unique. Ça ressemble en fait à une fonction php classique, un monde qui m'est beaucoup plus familier.
Connectez-vous ou Inscrivez-vous pour répondre.