Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[Résolu] CGFeedMaker : Erreur 404 Flux non trouvé
#1

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.2.1
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.2.1
#~ Installed Modules:
#~ CMSMailer: 5.2.1
#~ CMSPrinting: 1.0.3
#~ FileManager: 1.4.1
#~ MenuManager: 1.8.4
#~ MicroTiny: 1.2.3
#~ ModuleManager: 1.5.5
#~ News: 2.12.9
#~ Search: 1.7.7
#~ ThemeManager: 1.1.7
#~ CGSimpleSmarty: 1.5.2
#~ CGExtensions: 1.31.1
#~ CGFeedback: 1.5.10
#~ FrontEndUsers: 1.20
#~ Captcha: 0.4.5
#~ TinyMCE: 2.9.11
#~ SelfRegistration: 1.7
#~ FormBuilder: 0.7.3
#~ CGBlog: 1.9.8
#~ EditArea: 0.2.9
#~ CGFavs: 1.0.4
#~ CustomContent: 1.8.3
#~ CGSmartImage: 1.9.5
#~ CGFeedMaker: 1.0.17
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ output_compression:
#~ max_upload_size: 20000000
#~ url_rewriting: mod_rewrite
#~ page_extension: .html
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.4.4
#~ md5_function: On (True)
#~ gd_version: 2
#~ tempnam_function: On (True)
#~ magic_quotes_runtime: Off (False)
#~ E_STRICT: 0
#~ E_DEPRECATED: 0
#~ memory_limit: 128M
#~ max_execution_time: 60
#~ output_buffering: 4096
#~ safe_mode: Off (False)
#~ file_uploads: On (True)
#~ post_max_size: 20M
#~ upload_max_filesize: 20M
#~ session_save_path: C:\PROGRA~1\EASYPH~1.0\/tmp (0777)
#~ session_use_cookies: On (True)
#~ xml_function: On (True)
#~ xmlreader_class: On (True)
#~ Server Information:
#~ Server Api: apache2handler
#~ Server Db Type: MySQL (mysql)
#~ Server Db Version: 5.5.25a
#~ Server Db Grants: Found a "GRANT ALL" statement that appears to be suitable
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour !

J'ai un souci certain avec le module CGFeedMaker. Pour le mettre en oeuvre, je fais un essai sur le module news.
Je l'utilise conformément à la doc (action = 'autodiscovery' dans le <head> et action='rslink' dans le body).
J'ai bien les deux liens générés dans ma page, correctement. Jusque là, tout va bien.

Mais si je clique sur le lien pour charger le flux RSS, j'ai une erreur 404 :
http://localhost/cmsms/feeds/news.rss (pour des tests en local) ou bien
http://www/diredaredare.org/feeds/news.rss (pour des tests sur mon site - sur OVH, avec pretty urls convenablement configurées).

tout cela me semble somme toute très logique, car avec ces deux appels à CGFeedMaker, je génère des liens, ok, mais je ne génère pas le fichier xml, que je sache ??? et il faut bien que ce fichier soit généré pour que ça fonctionne ???

j'ai regardé dans le code du module, pour voir où ça se passe, et histoire d'essayer de me dépatouiller tout seul. Il y a bien un fichier action.dfault.php, qui sert à générer le fichier xml, mais ce dernier ne semble pas être appelé par quiconque... j'ai quand même essayé d'appeler {CGFeedMaker action='default' feed='news'} dans mon body, pour voir ce que ça fait. Cela génère bien le fichier XML mais dans le body, et ça explose la page (logique, d'ailleurs).
Alors, voilà, je ne comrpends pas ce qu'il faut faire de plus pour fire fonctionner ce module, quelqu'un aurait-il une idée siouplé ?
Je ne pense pas qu'il s'agisse d'un problème de droits d'accès, cmsms est installé correctement (local et site), je peux ajouter des pages, templates, uploader des fichiers et créer des sous-répertoires sans aucun problème.

Question subsidiaire, dans le template par défaut des news, il y a une ligne {news assign='junk'}, et je ne comrpends pas à quoi ça sert, d'assigner le module à une variable qui n'est pas utilisée ensuite dans le template ?
#2

ça devrait être bon encore Wink
http://www.cmsmadesimple.fr/forum/viewto...8363#p8363

J-C Etiemble v 2.2.xx
#3

Ben non, dans ton lien je n'ai pas trouvé d'explication supplémentaire ?
je résume.
sur mon site local, installé sur www/cmsms/ (avec EasyPhp)

/www/.htaccess :
Code :
[== Indéfini ==]
    Options +FollowSymLinks
    RewriteEngine on
    RewriteBase /cmsms
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^News/rss(.+)$ index.php?page=News/rss$1 [s=1]
    RewriteRule ^(.+).html$ index.php?page=$1 [QSA]

/www/cmsms/config.php :
Code :
[== PHP ==]
   $config['dbms'] = 'mysql';
    $config['db_hostname'] = 'localhost';
    $config['db_username'] = 'cmsms';
    $config['db_password'] = 'cmsms';
    $config['db_name'] = 'cmsms';
    $config['db_prefix'] = 'cms_';
    $config['timezone'] = 'Europe/Paris';
    // Pretty urls
    $config['url_rewriting'] = 'mod_rewrite';
    $config['page_extension'] = '.html';
CMSMS installé avec les pages d'exemple, pour fair des tests. J'ai ajouté quelques news pour qu'il y en ait plus d'une.
Home Page thème NCleanBlue. Je rajoute dans le template :
{CGFeedMaker action='autodiscovery' feed='news'} dans le head
{CGFeedMaker action='rsslink' feed='news'} ds le body, juste au dessus de l'appel du summary des news :
{news number='3' summarytemplate='ddd_summary' detailtemplate='ddd_detail' browsecattemplate='ddd_browse_cat' detailpage='news' action='default'}

Dans CGFeedMaker, je ne touche pas à la configuration du flux news qui est :
Nom : news
Extension : aucune, prendre l'extension par défaut soit rss
Utiliser la page 4.1.1 News
titre : Example News rss feed
Feed link : http://localhost/cmsms
Description : Sample RSS Feed for the News module
...
Durée de vie : 0

Le template est le template de base, avec cette fameuse ligne avec junk qui me chiffone et que je ne comprends pas.

Sur la home page, j'ai bien le lien vers le fux rss qui est généré (ya un souci avec l'image, mais ça c'est pas grave, CGFeedMaker utilise son propre dossier et l'url de l'image générée par le code est erronée : je sais le régler aisément en utilisant ma propre icône et en donnant son lien - bref)

Dans le head de la page a été généré

Code :
[== HTML ==]
<link rel="alternate" type="application/rss+xml" title="Example News rss feed" href="http://localhost/cmsms/feeds/news.rss" />
et dans le <div id="news">
Code :
[== HTML ==]
<a href="http://localhost/cmsms/feeds/news.rss" title="Example News rss feed"><img src="images/cms/rss.png" alt="Example News rss feed" title="Example News rss feed" />Example News rss feed</a>

Mes URLS donnent :http://localhost/cmsms/news/4/39/Slam-a-La-Colle/d,ddd_detail.html pour la page d'une news, donc ok our les pretty urls en local sous EasyPhp.

jusque là, c'est merveilleux. Mais le fichier http://localhost/cmsms/feeds/news.rss n'existe pas.
et après relecture et debug à coups d'echo du code de action.autodiscovery.php et de action.rsslink.php me semble normal : ces 2 fichiers correspondant aux deux actions créent les balises html ci-dessus, mais nulle part le fichier .rss n'est généré. D'ailleurs si je place un echo "*** DEFAUT ***"; au début de action.default.php je ne le vois pas passer - à mon grand dam.

Conclusion : Ya quelque chose qui clocle là d'dans... et sûrement quelque chose d'évident que je ne fais pas comme il faut, mais quoi ? ok, je suis un débutant en CMSMS (juste 3 mois), mais pas en informatique (30 ans :mad: ), j'ai l'h'abitude du développement et de la correction de bugs, chuis obstiné et j'aime pas qu'un problème me résiste, mais là, je sèche malgré toute ma bonne volonté.
A première vue, pour que ça marche, il faudrait que j'appelle CGFeedMaker avec action=default, que je capture le résultat, que je trouve le répertoire et le nom du fichier à partir des variables et que je créée le fichier au bon endroit... mais c pas normal çà ???
#4

Citation :Ben non, dans ton lien je n'ai pas trouvé d'explication supplémentaire ?
alors Relire

je reprends visible sur http://gestassophp.free.fr/cms/index.php...ution.html
cmsms 1.11.2.1


Nom/Alias du flux Evolution
Utiliser cette page pour les liens: 4.1. Evolutions versions 5
Titre du flux: L'information sur les versions GestAssoPhp
Lien du flux: http://gestassophp.free.fr/cms/index.php...ution.html
Description du flux:Evolution des versions GestAssohp
Copyright du flux: © Bozo Software - GestAssoPhp
Durée de vie 0
Catégories Sample RSS Feeds

mais dans page
Onglet : Options
Balise Smarty spécifiques pour cette page : {CGFeedMaker action=autodiscovery feed=Evolution}

GABARIT

<?xml version="1.0"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
{* note: if you have not configured pretty urls or mod rewrite, the next line may fail when trying to validate the feed *}
<atom:link href="{$feed_url}" rel="self" type="application/rss+xml" />
<title>{$feed.title}</title>
{if isset($feed.link) && !empty($feed.link)}<link>{$feed.link}</link>{/if}
{if isset($feed.description) && !empty($feed.description)}<description>{$feed.description}</description>{/if}
{if isset($feed.copyright) && !empty($feed.copyright)}<copyright>{$feed.copyright}</copyright>{/if}
{if isset($generator)}<generator>{$generator}</generator>{/if}
{if isset($feed.managing_editor) && !empty($feed.managing_editor)}<managingEditor>{$feed.managing_editor}</managingEditor>{/if}
{if isset($admin_email)}<webMaster>{$admin_email} ({$admin_user->firstname} {$admin_user->lastname})</webMaster>{/if}
{if isset($feed.image) && !empty($feed.image)}
<image>
{if isset($feed.description) && !empty($feed.description)}<description>{$feed.description}</description>{/if}
{if isset($feed.link) && !empty($feed.link)}<link>{$feed.link}</link>{/if}
<title>{$feed.title}</title>
<url>{$file_location}/{$feed.image}</url>
</image>
{/if}
{news assign='junk'}
{foreach from=$items item='entry'}
<item>
<title>{$entry->title}</title>
<link>{$entry->moreurl}</link>
<description>{$entry->content|strip_tags|summarize:40}</description>
<pubDate>{$entry->postdate|rfc_date}</pubDate >
<guid>{$entry->moreurl}</guid>
</item>
{/foreach}
</channel>
</rss>

.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^(.+)$ index.php?page=$1 [QSA]

J-C Etiemble v 2.2.xx
#5

J'ai un site en 1.9.4.3 url propres dans lequel j'ai la balise {CGFeedMaker action='rsslink' feed='news' imageonly='' linkclass="noprint"}
dans le body de la page sommaire des news et
{CGFeedMaker action='autodiscovery' feed='news'} dans les métadonnées.
Nom/Alias du flux:news
Ce flux doit contenir uniquement des caractères utilisables dans un URL
Extension du flux:
Feed Extension (spécifier une extension pour ce flux, i.e xml,rss,kml... s'il n'est pas précisé l'extension rss par défaut sera utilisé
Utiliser cette page pour les liens:4.Actualités
La page qui devrait être utilisée pour tous les liens de ce flux
Titre du flux:Flux RSS des news
Lien du flux:http://www.mondomaine.com/news/
L'adresse URL vers le site HTML correspondant au canal
Description du flux:RSS Feed pour les News
Une phrase décrivant ce canal
Copyright du flux:
Note de copyright pour le contenu de ce canal
Editeur de flux:
Courriel de l'éditeur de ce canal
Durée de vie:600
nombre de minutes qui indique combien de temps un canal peut être mis en cache avant une actualisation depuis la source
Image du flux:

Spécifie si une image GIF, JPEG ou PNG peut être affichée dans le canal
Catégories
Sample RSS Feeds

Gabarit par défaut.

Pas de problème, les liens sont bien générés et le fichier www.nomdedomaine.com/feeds/news.rss existe. Tout fonctionne parfaitement.

Je n'ai pas mis cette ligne dans mon .htaccess :
Code :
RewriteRule ^News/rss(.+)$ index.php?page=News/rss$1 [s=1]
Essaye sans.
#6

Bon, alors relire.
Seule info : placer le code 'autodiscovery' dans Balises smary spécifiques. Résultat : néant ; en plus, le code placé dans ce champ, s'il s'agit d'une balise qui renvoie quelque chose, est généré dans la page au tout début du fichier html, avant même le <(doctype. Pas fameux.

Cela dit, le problème vient de mes prety urls et des règles utilisées dans le .htaccess, effectivement.
j'ai supprimé la règle spécifiée par Jean et remplacé
Code :
[== Indéfini ==]
RewriteRule ^(.+).html$ index.php?page=$1 [QSA]
par
Code :
[== Indéfini ==]
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
et là, ça marche...

cependant, une remarque : j'i pris ces règles de réécriture dans la faq d'installation de CMSMS en français, justement pour que les flux rss fonctionnent dans les news Sad
référence : wiki.cmsmadesimple.org/index.php/FAQ/Installation/Pretty_URLs/fr]FAQ Instalaltion pretty urls
Citation :Vous pouvez résoudre le problème de deux façons...
1. ajouter la règle incriminée au début des règles de réécriture
bre"f, cde qui est sûr, c'est qu'en suivant cette faq, CGFeedMaker plante à tous les coups, pas cool !
#7

Citation :Seule info : placer le code 'autodiscovery' dans Balises smary spécifiques. Résultat : néant ; en plus, le code placé dans ce champ, s'il s'agit d'une balise qui renvoie quelque chose, est généré dans la page au tout début du fichier html, avant même le <(doctype. Pas fameux.
Non c'est donc ton gabarit qui est Non conforme alors

Citation :wiki.cmsmadesimple.org/index.php/FAQ/Installation/Pretty_URLs/fr]FAQ Instalaltion pretty urls
Non à jour et en plus obsolète
en 1 premier Consulter la doc dans le dossier /doc du cms Wink
ou http://wiki.cmsmadesimple.fr/wiki/Pretty_Url

J-C Etiemble v 2.2.xx
#8

Désolé Jce, le fait de placer qq chose dans Balises smarty spécifiques, amène ce qq chose avant la doctype et donc -> quirk mode si code généré. J'en avait parlé il y a des millénaires (http://www.cmsmadesimple.fr/forum/viewto...9363#p9363).
#9

Citation :Désolé Jce, le fait de placer qq chose dans Balises smarty spécifiques, amène ce qq chose avant la doctype et donc -> quirk mode si code généré
je sais mais je ne pige pas le quirk mode Wink , car Tout est OK pour moi si passage au validateur

J-C Etiemble v 2.2.xx
#10

le quirk mode ne concerne que IE
-> On s'en fout d'IE
-> On s'en fout du quirk mode Big Grin

blague à part, il me semble que le quirk mode est déclenché effectivement par IE dès qu'un caractère est présent avant le doctype. Dès lors il change son moteur de rendu HTML par défaut ... qui est déjà crade ... par un autre moteur encore plus merdique..

Au final un site peut être bon HTML parlant mais très mal rendu sur un client IE parce qu'un espace existe avant <doctype>.

http://en.wikipedia.org/wiki/Quirks_mode

On y découvre qu'au delà d'un espace devant <doctype>, c'est tout ce qui n'est pas un doctype connu qui fait tomber IE dans ce mode, le caractère avant <doctype> n'est qu'un exemple pratique de doctype inconnu aux yeux d'IE
#11

Ouip, mon gabarit est conforme (comme je l'ai indiqué, j'ai fait des tests sur NCleanBlue). Et j'ai retesté avant de poster.
User Handbook/Getting Started/Editor a écrit :Smarty data or logic that is specific to this page: If you have smarty logic in this field you can use it with a new plugin {process_pagedata} which processes the page specific data through smarty. It should be at the very top of all page templates
Cela étant, et si je peux me permettre cette remarque-question : pourquoi laisser des pages obsolètes en ligne, qui en plus disent le contraire de ce qu'il faut faire ? C'est totalement anti-productif, et ça nuit certainement à l'adoption de CMSMS par de nouvelles personnes.
Bon, ce topic aura au moins permis de poser cette question et de clarifier la compréhension de la smarty data or logic, c'est toujours çà de pris.
#12

je te l'accorde qu'il faudrait fermer la partie FR du wiki .org mais nous n'avons absolument pas la main dessus Wink

nous on a : http://wiki.cmsmadesimple.fr, moins chargé mais plus à jour !
#13

Citation :je sais mais je ne pige pas le quirk mode
quand je disais cela, je disais que moi je m'en balance aussi de ce truc a la billou :p non conforme et a ne pas utiliser

Citation : pourquoi laisser des pages obsolètes en ligne
concernant le wiki, il doit disparaitre mais il n'y a pas de magicien à La Team CMSms, alors ça va se faire hein !

J-C Etiemble v 2.2.xx
#14

ok, mais ya pas moyen de mettre au moins dessus en gros et en rouge ATTENTION C'est obsolète + un lien vers la bonne page ? (que j'enregistre dans mes favoris d'ailleurs).
#15

cela dit, je viens de vérifier sur le wiki, la page pretty urls renvoie vers la page news en bas avec un cadre vert qui dit attention pretty urls et module news, vous risquez des soucis,etc etc, ; voir la page news et sur la page news... on retrouve la même solution que dans la version obsolète !
#16

Et donc, en déplaçant la balise {process_pagedata} après la doctype dans le gabarit, on évite ce problème. Vous pouvez écrire {CGFeedMaker action='autodiscovery' feed='news'} dans Balises smarty spécifiques au lieu des métadonnées.
A vérifier par un pro du cms, mais ce serait pas mal que les gabarits soient modifiés ainsi par défaut dans les nouvelles install.
Le problème m'était arrivé il y a longtemps, didjeko nous en parle aujourd'hui et apparaîtra à beaucoup d'autres demain.
Poster sur le .org ou dans la forge ?
#17

si je ne me trompe pas {process_pagedata} au début impératif

http://docs.cmsmadesimple.org/tags/core/...s_pagedata
Insert the {process_pagedata} tag into the very top of your page template.

J-C Etiemble v 2.2.xx
#18

Le problème est que l'auteur de cette documentation n'a pas pensé au problème d'insertion de caractères avant la doctype. Et surtout, qu'à mon humble avis, qu'il soit placé là ou après la doctype ne change rien à la bonne fonctionnalité de ce plugin, tant que tu n'assignes rien avant la doctype.
#19

Citation :Le problème est que l'auteur de cette documentation ...
qu'il soit placé là ou après la doctype ne change rien à la bonne fonctionnalité de ce plugin

C'est la doc officielle validée et Robert C avait bien précisé cela au début de l'utilisation (si mon souvenir est bon)

J-C Etiemble v 2.2.xx
#20

je te confirme jce même si je n'ai aucune foutue idée de l'impact de le mettre après le doctype ...
#21

Bon, je le répète, puisque ça a l'air de passer complètement à côté, mais le nouveau wiki contient la même information eronée que l'ancien wiki, seul le format change.
#22

non non c'est pas tombé dans l'oreille d'un sourd je te rassure mais effectivement il est important de le repréciser.

je m'en vais modifier le code en question Wink
#23

http://wiki.cmsmadesimple.fr/wiki/News_%...retty-urls Smile
#24

super !
cela dit, j'ai encore 1 petits soucis avec le feedmaker : tout roule presque.
Mes news sont affichées dans une page dédiée 'Nouvelles' accessible depuis la page d'accueil qui contient le sommaire des news. Cette page 'Nouvelles' n'est pas affichée dans le menu. Les liens vers le flux rss sont accessibles dans cette page 'Nouvelles' :

Code :
[== Indéfini ==]
{CGFeedMaker action='autodiscovery' feed='nouvelles'} dans le head
{CGFeedMaker action='rsslink' feed='nouvelles' image= "{path_adm}logos/rss.png" imageonly='true'} dans le body
({path_adm} est un petit udt qui renvoie ../../uploads/adm/ et me permet d'utiliser des chemins relatifs pour accéder à des fichiers depuis le cache cmsms).

Alors la question qui tue : lorsque je rajoute une news sur mon site, le menu asocié au flux rss dans mon navigateur (firefox) devrait se mettre à jour, si j'ai bien tout compris. Pourtant, cela ne se produit pas ?
#25

ce n'est jamais instantané mais dépend du paramétrage du module. Généralement 30-60 minutes de cache pour éviter à un site de s'écrouler dès que 15 navigateurs sont ouverts sur la planète avec un lien vers leur flux.

test l'url de ton flux rss directement. Si l'entrée apparait dedans, elle apparaitra partout dans l'heure.
Sujet fermé


Atteindre :


Utilisateur(s) parcourant ce sujet : 4 visiteur(s)