Parsing balise "description" de la classe class.plx.feed.php
Bonjour,
J'aimerais pouvoir parser via une fonction maison le contenu de la balise "description" des flux rss des articles (classe class.plx.feed.php).
Comme on peux le voir pas très pratique via un hook.
Quelle est à votre avis la meilleure solution a adopter ?
Merci d'avance,
Cordialement,
jeje
J'aimerais pouvoir parser via une fonction maison le contenu de la balise "description" des flux rss des articles (classe class.plx.feed.php).
[== Indéfini ==]
public function getRssArticles() {
...
# On va boucler sur les articles (s'il y en a)
if($this->plxRecord_arts) {
while($this->plxRecord_arts->loop()) {
# On affiche le flux dans un buffer
$entry .= "\t<item>\n";
$entry .= "\t\t".'<title>'.plxUtils::strCheck($this->plxRecord_arts->f('title')).'</title> '."\n";
$entry .= "\t\t".'<link>'.$this->urlRewrite('?article'.$artId.'/'.$this->plxRecord_arts->f('url')).'</link>'."\n";
$entry .= "\t\t".'<guid>'.$this->urlRewrite('?article'.$artId.'/'.$this->plxRecord_arts->f('url')).'</guid>'."\n";
$entry .= "\t\t".'<description>'.plxUtils::strCheck(plxUtils::rel2abs($this->racine,$content)).'</description>'."\n";
$entry .= "\t\t".'<pubDate>'.plxDate::dateIso2rfc822($this->plxRecord_arts->f('date')).'</pubDate>'."\n";
$entry .= "\t\t".'<dc:creator>'.plxUtils::strCheck($author).'</dc:creator>'."\n";
# Hook plugins
eval($this->plxPlugins->callHook('plxFeedRssArticlesXml'));
$entry .= "\t</item>\n";
}
}
...
}
Comme on peux le voir pas très pratique via un hook.
Quelle est à votre avis la meilleure solution a adopter ?
Merci d'avance,
Cordialement,
jeje
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Que veux-tu faire exactement ?
Rajouter du contenu à toi dans la balise description du flux rss ?
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Je m'explique:
Que se soit spxshortcodes ou visualwizard je créé un hook de sortie IndexEnd qui permet d'interpréter les shortcodes (extrèmement puissant)
Par ce biais les shortocodes sont interprétés en sortie html via la classe shortcodes.php loadée par mes soins dans "indexBegin"
Le problème c'est que le flux rss n'interprète pas les shortcodes, il faut donc pouvoir faire l'équivalent de ce parsing :
Avant :
Après si on devait le faire directement dans le code ça donnerait ceci :
Voila pour l'explication. Mais comment le faire simplement via un hook d'un plugin ? le seul hook a dispo est plxFeedRssArticlesXml qui permet de rajouter des champs.
Cordialement,
jéjé
Il faudrait qu'il agisse avant d'alimenter la variable $entry et on devrait prendre en compte sa valeur de retour (true | false) pour savoir si on continue le traitement à l'intérieur de la boucle ou si on passe à l'article suivant.
Je suis perplexe sur l'intérêt de cette variable $entry qui ne subit aucun traitement à la sortie de la boucle.
Pour résoudre ton problème, il faut utiliser le hook FeedEnd et traiter la variable $output en considérant que c'est le contenu d'un fichier XML.
Le hic c'est que cela concerne un lot d'articles.
Le problème se pose également pour les commentaires.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
* dupliquer le fichier core/lib/class.plx.feed.php dans un sous-dossier du theme, en ajoutant un fichier .htaccess avec les régles Deny from all et Options -Indexes
* placer le hook qui va bien au bon endroit dans la copie
* corriger le chemin pour accèder à la class dans le fichier feed.php dans le thème
C'est la solution la plus souple.
P.S. : Cela serait bien d'avoir un fichier .htaccess dans le dossier core/lib avec une règle Deny from all. Le souci est qu'il y a dans ce dossier des fichiers statiques type js qui seraient mieux placés dans un dossier core/assets
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Voila ma solution :
++
jéjé
SimpleXML est un outil puissant et relativement simple d'emploi ( quoique XPath ? ).
Dommage qu'on en soit encore à xml_parser dans PluXml. http://forum.pluxml.org/viewtopic.php?id=4487
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
++
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2