Contrôleur - Vue avec ajaxReload - commentaires Contrôleur - Vue avec ajaxReload 2020-05-26T12:52:23Z https://files.spip.net/Controleur-Vue-avec-ajaxReload#comment505395 2020-05-26T12:52:23Z <p>Yop,</p> <p>une petite suggestion d'amélioration du tuto : si Javascript est désactivé, le clic sur un article de la liste amène à la page de l'article, ce qui n'est pas le même comportement qu'en ajax (on change de page).</p> <p>Dans la liste d'articles, un lien vers <code class="spip_code spip_code_inline" dir="ltr">[(#SELF|parametre_url{id_article,#ID_ARTICLE})]</code> au lieu de #URL_ARTICLE permettrait de reproduire la même chose (on recharge la page avec une autre actu à droite).</p> Contrôleur - Vue avec ajaxReload 2019-03-22T10:41:52Z https://files.spip.net/Controleur-Vue-avec-ajaxReload#comment500550 2019-03-22T10:41:52Z <p>Bonjour,</p> <p>j'ai testé le code sur mon site et lorsque je charge la page actualités, le script me dit qu'aucun article chargé</p> <p>j'ai essayé en y ajoutant un id_rubrique via une rubrique de mon site et toujours rien</p> <p>une explication<small class="fine d-inline"> </small>?<br class="autobr"> faut-il parametrer kke chose en spip pour que l'ajax fonctionne<small class="fine d-inline"> </small>? car ce n'est pas la 1<sup class="typo_exposants">re</sup> fois que j'essaye d'utiliser de l'ajax et je me suis toujours pris un mur</p> Contrôleur - Vue avec ajaxReload 2019-02-08T15:26:37Z https://files.spip.net/Controleur-Vue-avec-ajaxReload#comment499974 2019-02-08T15:26:37Z <p>J'ai trouvé la réponse grâce à la liste et je la partage ici car cela peut en aider d'autres<br class="autobr"> Pour le contrôleur :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_groupes(GROUPES_MOTS){par titre}{tout}> <B_mots> <h3>#TITRE</h3> <ul> <BOUCLE_mots(MOTS mots_liens){objet=article}{id_groupe}> <li><a href="[(#SELF|parametre_url{id_mot,#ID_MOT})]">#TITRE</a></li> </BOUCLE_mots> </ul> </B_mots> </BOUCLE_groupes> </code></pre></div> <p>Pour la vue :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_actu(ARTICLES){id_mot}> <ul><li><a href="#URL_ARTICLE">#TITRE </a></li></ul> </BOUCLE_actu></code></pre></div> <p>Merci<br class="autobr"> SPIP c'est génial<small class="fine d-inline"> </small>!</p> Contrôleur - Vue avec ajaxReload 2019-02-07T22:29:18Z https://files.spip.net/Controleur-Vue-avec-ajaxReload#comment499967 2019-02-07T22:29:18Z <p>Après des jours ... d'essai<br class="autobr"> J'essaie de faire afficher les mots-clés par groupe (qui contiennent un article lié) du côté du contrôleur et les titres cliquables des articles liés du côté de la vue <br class="autobr"> Voici ce que j'ai mis du coté du controleur :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_groupes(GROUPES_MOTS){par titre}{tout}> <h1>#TITRE</h1> <BOUCLE_actu(MOTS){id_groupe}{par titre}> <ul><li><a href="#URL_ARTICLE">#TITRE</a></li></ul> <BOUCLE_articles(ARTICLES){id_mot}{id_rubrique}> #TITRE </BOUCLE_articles> </BOUCLE_actu> </BOUCLE_groupes></code></pre></div> Contrôleur - Vue avec ajaxReload 2019-02-04T14:14:34Z https://files.spip.net/Controleur-Vue-avec-ajaxReload#comment499908 2019-02-04T14:14:34Z <p>Bonjour,<br class="autobr"> Bravo pour ton explication. Tout fonctionne<small class="fine d-inline"> </small>! <br class="autobr"> Par contre, j'aimerai remplacer le div « ajax-id-vue_actu » par un div fullscreen slide. On peut voir <a href="https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_overlay" class="spip_out" rel='nofollow external'>ici</a>l'effet.<br class="autobr"> Quand j'ajoute onclick=«<small class="fine d-inline"> </small>closeNav()<small class="fine d-inline"> </small>» de cette façon :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><a href="#URL_ARTICLE" onclick="closeNav()" class="liste_actus_item" data-id="#ID_ARTICLE">Lire</a></code></pre></div> <p>L'overlay avec l'article apparaît mais se ferme de suite.<br class="autobr"> Dans le JS, j'ai changé :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>return true;</code></pre></div> <p>Et ajouté :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>function openNav() { document.getElementById("myNav").style.width = "100%"; }</code></pre></div> <p>Et dans vue_actu :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code><div id="myNav" class="overlay vue_actu"></code></pre></div> <p>Des idées<small class="fine d-inline"> </small>?</p> Contrôleur - Vue avec ajaxReload 2019-02-01T17:38:08Z https://files.spip.net/Controleur-Vue-avec-ajaxReload#comment499870 2019-02-01T17:38:08Z <p>Bravo pour ton explication. Tout fonctionne<small class="fine d-inline"> </small>! <br class="autobr"> Par contre, j'aimerai remplacer le div « ajax-id-vue_actu » par un div fullscreen slide. On peut voir <a href="https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_overlay" class="spip_out" rel='nofollow external'>ici</a> l'effet.</p> <p>Pour cela, il faut ajouter dans le JS</p> <pre>.style.width = "100%"</pre> <p>...<br class="autobr"> Mais comment faire<small class="fine d-inline"> </small>?</p> <p>Des idées<small class="fine d-inline"> </small>?</p> Contrôleur - Vue avec ajaxReload 2019-02-01T16:12:54Z https://files.spip.net/Controleur-Vue-avec-ajaxReload#comment499866 2019-02-01T16:12:54Z <p>Bravo pour ton explication. Tout fonctionne<small class="fine d-inline"> </small>! <br class="autobr"> Par contre, j'aimerai remplacer le div « ajax-id-vue_actu » par un div fullscreen slide. On peut voir ici l'effet : <a href="https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_overlay" class="spip_url spip_out auto" rel="nofollow external">https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_overlay</a><br class="autobr"> Quand j'ajoute onclick=«<small class="fine d-inline"> </small>closeNav()<small class="fine d-inline"> </small>» de cette façon :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><a href="#URL_ARTICLE" onclick="closeNav()" class="liste_actus_item" data-id="#ID_ARTICLE">Lire</a></code></pre></div> <p>Et bien, ça ne fonctionne pas...<br class="autobr"> Des idées<small class="fine d-inline"> </small>?</p> Contrôleur - Vue avec ajaxReload 2019-02-01T16:08:45Z https://files.spip.net/Controleur-Vue-avec-ajaxReload#comment499864 2019-02-01T16:08:45Z <p>Bravo pour ton explication. Tout fonctionne<small class="fine d-inline"> </small>! <br class="autobr"> Par contre, j'aimerai remplacer le div « ajax-id-vue_actu » par un div fullscreen slide. On peut voir ici l'effet : <a href="https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_overlay" class="spip_url spip_out auto" rel="nofollow external">https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_overlay</a><br class="autobr"> Quand j'ajoute onclick=«<small class="fine d-inline"> </small>closeNav()<small class="fine d-inline"> </small>» de cette façon :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><a href="#URL_ARTICLE" onclick="closeNav()" class="liste_actus_item" data-id="#ID_ARTICLE">Lire</a></code></pre></div> <p>Et bien, ça ne fonctionne pas...<br class="autobr"> Des idées<small class="fine d-inline"> </small>?</p> Contrôleur - Vue avec ajaxReload 2018-12-21T09:55:03Z https://files.spip.net/Controleur-Vue-avec-ajaxReload#comment499190 2018-12-21T09:55:03Z <p>Hello,</p> <p>tu ne pourras pas « pousser » une valeur par défaut. C'est ta vue qui doit intégrer une valeur par défaut.</p> <p>Une solution serait de calculer la valeur par défaut de l'id_article au chargement initial de la vue (dans dans <i>inclure/vue_actu.html</i> donc)</p> <p>Par exemple, récupèrer le dernier article de ta rubrique Actus :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><BOUCLE_derniere_actu(ARTICLES){id_rubrique=9}{!par date}{0,1}>#SET{id_last_actu,#ID_ARTICLE}</BOUCLE_derniere_acu> <BOUCLE_actu_vue(ARTICLES){id_article=#ENV{id_article,#GET{id_last_actu}}></code></pre></div> Contrôleur - Vue avec ajaxReload 2018-12-19T17:22:19Z https://files.spip.net/Controleur-Vue-avec-ajaxReload#comment499171 2018-12-19T17:22:19Z <p>Petite question. Comment pousser une valeur par défaut (sans clique) à la fois dans le contrôleur (classe active) et dans la vue Ajaxée<small class="fine d-inline"> </small>? Et ainsi avoir le dernière article en date au chargement de la page. Merci.</p> Contrôleur - Vue avec ajaxReload 2018-09-28T16:31:30Z https://files.spip.net/Controleur-Vue-avec-ajaxReload#comment498307 2018-09-28T16:31:30Z <p>Mince, j'avais zappé la phrase explicative ou elle a été rajoutée après<small class="fine d-inline"> </small>? Oups, désolé.</p> Contrôleur - Vue avec ajaxReload 2018-09-28T13:27:58Z https://files.spip.net/Controleur-Vue-avec-ajaxReload#comment498294 2018-09-28T13:27:58Z <p>A priori, si la page demo est automatiquement active si vous déposez les fichiers du zip dans votre répertoire squelettes/</p> Controleur - Vue avec ajaxReload 2018-09-28T13:15:59Z https://files.spip.net/Controleur-Vue-avec-ajaxReload#comment498293 2018-09-28T13:15:59Z <p>La page démo n'est pas active a priori.</p>