[plugin] RSSroll + favicons

i M@Ni M@N Member
avril 2013 modifié dans Plugins
[h]Description :[/h]
RSSroll w/ favicons PluXML plugin basé sur Rockyhorror Blogroll 0.5.
Récupère les flux avec SimplePie si curl est présent, sinon utilise le plugin javascript jQuery jGFeed Google Feed APi
Nécessite le plugin jQuery pour PluXML.

[h]Exemple :[/h]
http://imanweb.free.fr/blog/


[h]Télécharger :[/h]
http://imanweb.free.fr/PluXML/

[h]Github.com :[/h]
RSSroll

[h]installation :[/h]
Editez le fichier template "sidebar.php". Ajoutez y le code suivant à l'endroit où vous souhaitez voir apparaitre les liens :
[== HTML ==]
	<h3><?php eval($plxShow->callHook('showRSSrollHead')); ?></h3>
		<ul>
			<?php eval($plxShow->callHook('showRSSroll')); ?>
		</ul>

Si vous souhaitez changer le format d'affichage :
[== HTML ==]
	<h3><?php eval($plxShow->callHook('showRSSrollHead')); ?></h3>
		<ul>
<?php eval($plxShow->callHook('showRSSroll', '<h2 style="background:url(\'#icon\') no-repeat scroll 0 0 transparent;padding-left:20px;background-size:16px 16px;">
<a target="_blank" href="#url" hreflang="#langue" title="#description">#title</a>
</h2>')); ?>
		</ul>
«1

Réponses

  • bg62bg62 Member
    avril 2013 modifié
    grand merci ;)
    j'ai pris et je vais tester .... si c'est bon = "au top" ;)

    ps perso : tu connais 'seb' ... ?
  • bg62bg62 Member
    avril 2013 modifié
    première réaction : ça promet !!! chouette :)

    - en local j'ai testé les 2 appels, seul le premier fonctionne et affiche bien les article, le second n'affiche que le lien vers le flux ...
    - en local toujours j'ai placé 2 flux, le premier affiche 10 articles, le second [del]5[/del] aussi .. ils sont arrivés après ...
    peut-on paramétrer le nombre d'articles à afficher pour chaque flux ?
    - assez génant visuellement : il y a le titre de l'article, suivi de date heure ( sous cette forme : " Tue, 02 Apr 2013 23:58:00 -0700 " ).... comment supprimer ça ?
    - dans le code "style="background:url(\'#icon\') ........ " sert à quoi ? il n'y a aucun fichier icon dans le zip ...
    @+
  • i M@Ni M@N Member
    Merci :)

    Pour modifier le nombre d'articles dans le flux tu peux modifier la valeur de $lenght à la ligne 182 :
    [== PHP ==]
    /*default number of items to display. 0 = all*/
    $length = 5;
    
    Par contre c'est global, tous les flux ont le même nombre d'articles (pour le moment en tout cas)

    Pour supprimer date et heure :
    modifier ligne 248 :
    [== PHP ==]
    echo '<li><a target="_blank" href="'.$item->get_permalink().'" title="'.$item->get_title().'">'.$item->get_title().'</a> '.$item->get_date('Y/m/d').'</li>';
    
    en :
    [== PHP ==]
    echo '<li><a target="_blank" href="'.$item->get_permalink().'" title="'.$item->get_title().'">'.$item->get_title().'</a></li>';
    

    et modifier aussi ligne 278 :
    [== JavaScript ==]
    html += \'<a target="_blank" href="\' + link + \'" title="\' + title + \'">\' + title + \'</a> \' + pubDate;
    
    en :
    [== JavaScript ==]
    html += \'<a target="_blank" href="\' + link + \'" title="\' + title + \'">\' + title + \'</a>\';
    

    Le style="background:url(\'#icon\') sert à afficher le favicon. #icon = url du favicon en cache si curl, sinon url directe via l'APi getfavicon.com
    il n'y a aucun favicon dans le zip et c'est normal ... c'est ton server qui s'occuppe de le récupérer et de le mettre en cache dans plugins/RSSroll/cache/favicon/ si curl est présent, sinon c'est getfavicon.com qui le génère et le stocke.

    bg62 a écrit:
    ps perso : tu connais 'seb' ... ?
    heu ... lequel? :|
  • bg62bg62 Member
    1 - "Pour modifier le nombre d'articles dans le flux tu peux modifier la valeur de $lenght à la ligne 182 :"
    ok ...mais comment ce fesse : 5 = 10 flux, 2 = 4 flux ... si j'en veux 7 .... :)
    2 - " Par contre c'est global, tous les flux ont le même nombre d'articles (pour le moment en tout cas) "
    là c'est dommage de ne pas pouvoir 'moduler' ...
    3 - "Pour supprimer date et heure :"
    ok ... c'est bon nickel ça fait gagner bien de la place :)
    4 - pour le favicon ok compris, sauf qu'il ne met pas forcément le bon en cache ... mais faut que je continue à tester ...
    5 - seb qui 'a 40 ans' .... :)
    6 - pour le second affichage il ne prend donc que l'url du flux ... normal ou ???

    en tous cas, encore une fois , grand merci, depuis le temps que j'attendais un plugin de ce genre .... :)
    et chapeau bas pour le codage ET la réponse aussi rapide ...
    je te tiens au courant
    @+
  • i M@Ni M@N Member
    avril 2013 modifié
    bg62 a écrit:
    1 - "Pour modifier le nombre d'articles dans le flux tu peux modifier la valeur de $lenght à la ligne 182 :"
    ok ...mais comment ce fesse : 5 = 10 flux, 2 = 4 flux ... si j'en veux 7 .... :)
    ça dépend du nombre d'articles dans le flux ... si tu mets max = 10 et que le flux n'en contient que 5 tu comprends bien que "la plus belle fille du monde ne peut offrir que ce qu'elle a" ;)
    bg62 a écrit:
    2 - " Par contre c'est global, tous les flux ont le même nombre d'articles (pour le moment en tout cas) "
    là c'est dommage de ne pas pouvoir 'moduler' ...
    J'ai dit "pour le moment" ; ) ... mais si quelqu'un veut forker et faire un pull request c'est open. ;)
    bg62 a écrit:
    3 - "Pour supprimer date et heure :"
    ok ... c'est bon nickel ça fait gagner bien de la place :)
    cool.
    bg62 a écrit:
    4 - pour le favicon ok compris, sauf qu'il ne met pas forcément le bon en cache ... mais faut que je continue à tester ...
    ça ça dépend pas de moi mais de getfavicon.com

    Après tu peux bidouiller et remplacer le favicon, il se trouve dans plugins/RSSroll/cache/favicon/ si tu as curl, sinon il faut donner une classe css au RSSroll :
    [== HTML ==]
    		<div class="aside-title">
    <?php eval($plxShow->callHook('showRSSrollHead')); ?>
    		</div>
    		<div class="aside-content rssroll">
    			<ul>
    			<?php eval($plxShow->callHook('showRSSroll', '<h2 style="background:url(\'#icon\') no-repeat scroll 0 0 transparent;padding-left:20px;background-size:16px 16px;">
    <a target="_blank" href="#url" hreflang="#langue" title="#description">#title</a></h2>')); ?>
    			</ul>
    		</div>
    

    puis faire une règle css genre :
    [== CSS ==]
    /*:nth-of-type(1) 1 = le premier, :nth-of-type(2) = le second, etc ...*/
    div.rssroll ul h2:nth-of-type(1) {
    background: url("./plugins/RSSroll/cache/favicon/custom-favicon-1.ico") no-repeat scroll 0px 5px transparent ! important;
    }
    
    bg62 a écrit:
    5 - seb qui 'a 40 ans' .... :)
    Ah oui lui y'a du monde qui le connaît! Je le connais par son blog pas iRL (ou AFK)
    bg62 a écrit:
    6 - pour le second affichage il ne prend donc que l'url du flux ... normal ou ???
    Avec ou sans curl il prend l'url du flux. Faudrait me donner l'url de ton blog pour voir si c'est normal mais à priori oui.
    bg62 a écrit:
    en tous cas, encore une fois , grand merci, depuis le temps que j'attendais un plugin de ce genre .... :)
    et chapeau bas pour le codage ET la réponse aussi rapide ...
    je te tiens au courant

    ça me fait plaisir, je viens de passer mon blog à PluXML et j'adore, les mecs qui ont codé ça (et ceux qui font des plugins) sont des génies. La doc est solide et le code est bô en plus ... moi qui voulais me mettre à la POO me voilà motivé. ;)
  • bg62bg62 Member
    ^^ encore pas reçu la 'notification' de réponse ....
    bon, enfin pas grave ;)
    pour : " 1 " j'avais testé en mettant les 2 appels dans la sidebar, en enlevant le second, plus de problèmes de 'nombre' de liens affichés ...
    [ins]J'ai dit "pour le moment" ; ) ... mais si quelqu'un veut forker et faire un pull request c'est open. ...[/ins]
    ben j'espère bien qu'un 'codeur chevronné' passera par ici ... faut le peaufiner ce plugin, il est trop super !
    @+

    autre question à 10 points : il y a un "cache" qq part ?
    exemple : le titre d'un lien a été modifié, il ne change pas dans l'affichage .... !!!???
  • i M@Ni M@N Member
    le cache ça dépend ... le plugin fonctionne de deux façons :


    - la méthode de base avec simplepie : là il y a un cache rafraîchi toutes les heures et les favicons ne sont mis en cache qu'une fois.


    - la méthode fallback au cas où l'hébergeur n'autorise pas curl utilise jQuery et le plugin jGFeed qui utilise une APi google, là on contrôle pas grand chose, le cache est chez google, les modifications ne sont pas aussi rapides qu'avec l'autre méthode (délai = 1 heure) mais elle finissent par arriver ... patience. ;)


    Au vu de tes précédents messages je suppose que tu utilises la seconde méthode, donne un lien et je pourrais te le confirmer.
  • bg62bg62 Member
    pour l'instant je bidouille en local ...
    j'essaie de faire au plus vite et je mettrai en ligne pour que tu puisses voir ;)

    (là j'ai reçu la notification ...)
  • bg62bg62 Member
    voilà mise à jour faite en ligne:
    http://forum.pluxml.org/viewtopic.php?pid=31401#p31401
    - tu pourras voir ton plugin tourner
    - et si tu peux réussir à résoudre le problème de l'affichage de " plxMyCoinSlider " ça m'arrangerait drôlement bien ...
    - même optimiser au maximum les différents plugins utilisés pour gagner en rapidité d'affichage d'ailleurs ...
    @+
  • i M@Ni M@N Member
    v1.1 : modification du background-position du favicon.
    Pour ceux qui l'auraient déjà installé il faut mettre à jour et modifier votre thème :
    [== HTML ==]
    		<div class="aside-title">
    <?php eval($plxShow->callHook('showRSSrollHead')); ?>
    		</div>
    		<div class="aside-content rssroll">
    			<ul>
    			<?php eval($plxShow->callHook('showRSSroll', '<h2 style="background:url(\'#icon\') no-repeat scroll 0 5px transparent;padding-left:20px;background-size:16px 16px;">
    <a target="_blank" href="#url" hreflang="#langue" title="#description">#title</a></h2>')); ?>
    			</ul>
    		</div>
    
    en :
    [== HTML ==]
    		<div class="aside-title">
    <?php eval($plxShow->callHook('showRSSrollHead')); ?>
    		</div>
    		<div class="aside-content rssroll">
    			<ul>
    			<?php eval($plxShow->callHook('showRSSroll', '<h2 style="background:url(\'#icon\') no-repeat scroll 0 0 transparent;padding-left:20px;background-size:16px 16px;">
    <a target="_blank" href="#url" hreflang="#langue" title="#description">#title</a></h2>')); ?>
    			</ul>
    		</div>
    
  • bg62bg62 Member
    avril 2013 modifié
    j'ai pris, je mets à jour et je teste dès demain ;)
    merci

    --> fait = nickel ;)
  • bg62bg62 Member
    re...
    pourrais-tu me donner le "codage" ( ... simplifié ) pour ne plus avoir d'appel, dans le script, pour les 'icônes', éventuellement même pour ne plus avoir de liens vers le 'flux' lui-même ... juste ' x ' articles sur les sites marqués ?
    grand merci ;)
  • i M@Ni M@N Member
    bg62 a écrit:
    pourrais-tu me donner le "codage" ( ... simplifié ) pour ne plus avoir d'appel, dans le script, pour les 'icônes', éventuellement même pour ne plus avoir de liens vers le 'flux' lui-même ... juste ' x ' articles sur les sites marqués ?

    Quelque chose comme ça je pense :
    [== HTML ==]
    		<div class="aside-title">
    <?php eval($plxShow->callHook('showRSSrollHead')); ?>
    		</div>
    		<div class="aside-content rssroll">
    			<ul>
    			<?php eval($plxShow->callHook('showRSSroll', '<h2>#title</h2>')); ?>
    			</ul>
    		</div>
    
  • bg62bg62 Member
    avril 2013 modifié
    non fonctionne pas ... vois ici :
    -http://www.unesourisetmoi.info/
    - il y a 3 flux affichés
    donc à chaque fois le titre du flux avec un lien vers le flux lui-même ET 4 liens pour chaque ...

    ce que je voudrais c'est ne plus avoir ces 'titres de flux' avec leurs liens mais uniquement les "12" posts séparés par les titres comme des rubriques, affichés (pour cet exemple) + si possible un 'nettoyage' du plugin pour qu'il n'y ait aucune appel vers le site qui met en cache les favicons ;)
    @+

    ok ... c'est bon :) je mets la correction en ligne ...
    j'ai modifié également ceci :
    #echo '<img src="'PLX_PLUGINS.'RSSroll/cache/favicon/'. md5($link['url']).'.ico" height="16px" width="16px" title="favicon" alt="favicon" />';//could also display img
    
    pour éviter cet affichage d'icones ... mais il semble y a avoir encore d'autres 'appels' ... c'est cela que j'aimerais que tu me dises comment "nettoyer" .... RSSroll.php .....
  • i M@Ni M@N Member
    bg62 a écrit:
    ce que je voudrais c'est ne plus avoir ces 'titres de flux' avec leurs liens mais uniquement les "12" posts séparés par les titres comme des rubriques
    Essaye comme ça alors :
    [== PHP ==]
    <?php eval($plxShow->callHook('showRSSroll', '')); ?>
    
    bg62 a écrit:
    si possible un 'nettoyage' du plugin pour qu'il n'y ait aucune appel vers le site qui met en cache les favicons
    inutile puisqu' avec la ligne au-dessus il n'y a plus l'affichage du favicon.
  • bg62bg62 Member
    j'ai mis ceci :
    <div class="sidetitle">	
    	<div class="asidetitle">
    <h3><?php eval($plxShow->callHook('showRSSrollHead')); ?></h3>
    		</div>
    		</div>
    			<div class="aside-content">
    		<div class="sidecontentrss">
    			<ul>
    			<?php eval($plxShow->callHook('showRSSroll', '<h2>#title</h2>')); ?>
    			</ul>
    		</div>	
    
    pas exactement pareil que ce que tu me donnes mais ça a l'air bon ;)
    qu'en penses-tu ?
  • i M@Ni M@N Member
    @bg62 si ça te va, moi ça me va. : )
  • bg62bg62 Member
    i M@N a écrit:
    @bg62 si ça te va, moi ça me va. : )
    grand merci alors ... ;)
    hé vous les " codeurs" ... trop rapides .... :P
    faut réussir à vous suivre ...
  • HamtaroHamtaro Member
    mai 2013 modifié
    Je vais éviter de m'emporter mais ton plugin est une bien belle m$%?!e sur mon blog...

    Après plusieurs tentatives, le plugin est responsable de changement de chmod sur mon répertoire et fichiers... Tout passe en 644 donc accès interdit dans le navigateur, blog inaccessible...
    5 tentatives, avec ton archive, le zip du github... Rien, nada, toujours pareil...

    Au moment de rajouter un flux, hop ! Les chmod sont changés...

    Une idée ?

    Tcho, Hamtaro.
  • bankaibankai Member
    Il y a un soucis de ce type avec les plugins qui rentre en conflits avec la version 5.1.7
  • HamtaroHamtaro Member
    Merci bankai.

    Du coup, je demande une petite maj ^^
  • ce plug-in n'est plus compatible ?
    il ne s'affiche pas dans mon admin quand je l'upload dans le dossier plug-in...
  • MrFoufou a écrit:
    ce plug-in n'est plus compatible ?
    il ne s'affiche pas dans mon admin quand je l'upload dans le dossier plug-in...
    as-tu bien pris cette version : https://github.com/ali0une/RSSroll ??? 1.0
    perso, avec qq modifs (éviter les favicon) ça fonctionne nickel :)
  • StéphaneStéphane Member, Former PluXml Project Manager
    attention aux versions récupérées sur github. lors de la décompression le nom du dossier est rarement celui attendu pour le fonctionnement du plugin
    exemple: si le dossier décompressé s'appelle monplugin-master il faut le renommer en monplugin

    Consultant PluXml

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

  • ok merci il fallait bien renommer en RSSroll
    j'ai pris cette version mais j'ai une erreur, on dirait qu'il ne trouve pas jquery alors que le plug-in jquery est bien installé

    c'est cette erreur dans la source
    /*use javascript fallback*/
    /*require PluXML jQuery plugin*/
    !window.jQuery && document.write(\'<script type="text/javascript" src="<?php echo PLX_PLUGINS;?>jquery/jquery.min.js"><\/script>\');
    /*code did not work as expected : failed to make jQuery load first ... keep it here hoever*/

    pourtant le lien jquery/jquery.min.js est bien actif
  • Il faudrait peut-être faire un topic d'explication épinglé car ce n'est pas la première fois que ce genre de question est posée.
  • @MrFoufou : essaye d'arranger l'ordre de tes plugins dans l'administration pour que jquery soit avant les plugins qui en dépendent (jquery plus haut dans la liste).
  • merci mais ça ne fonctionne toujours pas, toujours la même erreur
  • @MrFoufou tu confonds code source et erreur ... tu n'as pas d'erreur en fait. Une erreur serait affichée dans la console javascript par exemple.
  • MrFoufou a écrit:
    merci mais ça ne fonctionne toujours pas, toujours la même erreur

    J'ai mis a jour RSSRoll pour qu'il fonctionne sur PluXml 5.2
    Après quelques tests et essais (en local) il me semble bien reficelé.

    Merci i M@N, super Plugin ;)

    télécharger - RSSroll.13.10.27.zip

    Notre temps est la seule monnaie vraie ;)

    Site, Dépôt, framagit, MyShop, Factux

    #mozinor président

Connectez-vous ou Inscrivez-vous pour répondre.