[SuggestAvecImage] Suggestion d'articles avec images (Cat+Tag+Récent)

SuricatSuricat Member
juin 2016 modifié dans Plugins
Bonjour,

Ce plugin affiche 4 liens avec image vers des articles de la même catégorie que l'article en cours de lecture avec une priorité pour les articles ayant des Tags en commun avec l'article consulté.

Télécharger & Voir sur Github :

https://github.com/Suricat/SuggestAvecImage


Les miniatures affichées sont celles du "Thumbnail" des articles, ou bien la première image trouvée dans les articles si aucun "Thumbnail" n'est renseigné.

Les 4 images sont affichées en ligne avec le titre des articles dessous. Le système est responsive et les images rétrécissent donc avec la taille de la fenêtre. Lorsque la fenêtre fait moins de 500px de large, il n'y a que 3 images d'affichées et lorsque la fenêtre fait moins de 400px de large, seul 2 images sont affichées pour ne pas avoir des images et des titres dans un espace trop réduit...

Consulter l'aide du plugin pour voir le bout de code à insérer dans le fichier article.php pour faire apparaître les suggestions.


## Version 1.1 (06/06/2016) ##
[+] Les articles les plus récents sont privilégiés pour les suggestions
## Version 1.0 (04/06/2016) ##
[+] Suggestion d'articles de la même catégorie avec priorité à ceux ayant des Tags communs avec l'article consulté
## Version 0.9 (29/05/2016) ##
version initiale : suggestion d'articles de la même catégorie

[em]Nécessite PHP 5.4 ou supérieur[/em]

Réponses

  • DjbWebmasterDjbWebmaster Member
    mai 2016 modifié
    Super, à tester
  • Version 1.0 :

    Les articles suggérés sont toujours ceux de la même catégorie, mais en plus maintenant avec une priorité à ceux qui ont des tags en commun avec l'article consulté.

    Pour ce faire, le plugin stocke dans un fichier JSON les catégories et tags de chaque article.
    Ensuite, pour chaque article, il donne 10 points pour les articles de même catégorie et 1 point supplémentaire pour chaque tag en commun.
    Un tableau de 4 id d'articles ayant le plus de points est ajouté dans le fichier JSON.

    A chaque mise à jour de catégorie ou de tag d'un article, le fichier JSON est mis à jour...
  • SuricatSuricat Member
    juin 2016 modifié
    Version 1.1 :

    Les articles les plus récents (basé sur la date de modification) sont privilégiés pour les suggestions.
  • MrFoufouMrFoufou Member
    décembre 2016 modifié
    Bonjour,
    Quand j'upload ce plugin sur mon site, cela fait planter la page des plugin dans l'admin.
    Lorsque je clique sur la configuration des plugins j'ai une page d'erreur "la page ne fonctionne pas"
    Dès que j'enlève ce plugin, ça fonctionne à nouveau.

    Une idée d'ou cela peut venir?
    merci,
    François
  • Bonjour MrFoufou,

    Quelle version de PluXml utilises-tu ?
    Quelle version de PHP ?

    Y-aurait-il possibilité de récupérer ton site pour faire des tests ?

    D'autres constatent-ils le phénomène ?

    @+
  • PPmarcelPPmarcel Member
    août 2017 modifié
    Bonjour Suricat,

    Je suis en train de tester ce plugin. Jusqu'ici pas trop de problèmes, sauf pour l'affichage des images ayant un espace dans le nom (une mocheté j'en conviens, mais je n'y faisais pas trop attention il y a quelques années).

    Exemple d'URL dans un article : <img src="https://FQDN/data/images/2014/12/Arbre noël Lafayette/201411...</img>
    L'URL d'image affichée par le plugin devient alors : https://FQDN/data/images/2014/12/Arbre

    Faut-il renommer toutes les images et leur chemin ou bien est-il possible de le prendre en compte avec le script ?
    ________________________________

    EDIT : J'ai retiré l'espace dans le filtre suivant :
    if(preg_match('/<img\s+.*?src=[\"\']?([^\"\'>]*)[\"\']?[^>]*>/i', $art['content'], $thumbnail)==1)
    

    Je récupère bien toute l'URL de l'image, en revanche on a aussi les accents qui ne passent pas, j'obtiens : https://FQDN/data/images/2014/12/Arbre# noël Lafayette/201411...
    ________________________________

    EDIT 2 : Après quelques tests je vois que preg_match fonctionne bien, c'est la fonction urlRewrite() qui ajoute un dièse au niveau de l'espace et c'est ça qui pose problème.
    Je vais me contenter de renommer les répertoires et corriger les chemins dans les articles.
    ________________________________

    EDIT 3 : J'ai trouvé une solution.

    Afin de bien gérer accents et espaces j'ai remplacé les espaces par des %20 et fais l'impasse sur la fonction urlRewrite. A la place je fais précéder l'URL du thumbnail par '/' pour que le chemin devienne absolu depuis la racine.

    Attention, cela ne marche que dans le cas où le thumbnail provient du site !

    Je pars de
    $row = str_replace('#art_url',$plxMotor->urlRewrite('?article'.intval($art['numero']).'/'.$art['url']),$format);
    $row = str_replace('#art_title',plxUtils::strCheck($art['title']),$row);
    $row = str_replace('#img_url',$plxMotor->urlRewrite('$thumbnail'),$row);
    

    à
    $thumbnail = str_replace(' ', '%20', $thumbnail);     // ---- AJOUT ICI
    $row = str_replace('#art_url',$plxMotor->urlRewrite('?article'.intval($art['numero']).'/'.$art['url']),$format);
    $row = str_replace('#art_title',plxUtils::strCheck($art['title']),$row);
    $row = str_replace('#img_url','/'.$thumbnail,$row);    // ---- RETRAIT DE urlRewrite()
    
Connectez-vous ou Inscrivez-vous pour répondre.