Coder ses squelettes avec des INCLURE - commentaires Coder ses squelettes avec des INCLURE 2016-09-08T13:06:20Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment488893 2016-09-08T13:06:20Z <p>Hello,</p> <p>Dans le squelette appelant, il faut passer la liste des rubriques sous forme d'array, et c'est dans le squelette inclus que tu fais <code class="spip_code spip_code_inline" dir="ltr">{id_rubrique IN machin}</code> ou <code class="spip_code spip_code_inline" dir="ltr">{id_rubrique ?}</code>.<br class="autobr"> Ah, et il faut toujours privilégier la syntaxe <code class="spip_code spip_code_inline" dir="ltr"><INCLURE></code> au lieu de <code class="spip_code spip_code_inline" dir="ltr">[(#INCLURE)]</code>, à moins qu'il soit nécessaire de mettre de choses dans les parties conditionnelles : <code class="spip_code spip_code_inline" dir="ltr">[ avant (#INCLURE) après ]</code>.</p> <p><strong>squelette appelant :</strong></p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><INCLURE{fond=inclure/inc-actualites, id_rubrique=#LISTE{1,2,3,4}}></code></pre></div> <p><strong>squelette inclus :</strong></p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><BOUCLE_x(ARTICLES){id_rubrique ?}>...</BOUCLE_x></code></pre></div> Coder ses squelettes avec des INCLURE 2016-09-08T10:39:23Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment488887 2016-09-08T10:39:23Z <p>Quand on fait un INCLURE, on indique d'une part le nom du fichier à appeler et, d'autre part, on indique quels sont les variables à transmettre à cette inclusion et leur valeur<br class="autobr"> Dans la première écriture <code class="spip_code spip_code_inline" dir="ltr"> [(#INCLUREfond=inclure/inc-actualites, id_rubrique=1 )]</code>, il est écrit que l'inclusion saura qu'il faut considérer que id_rubrique aura « 1 » comme valeur.<br class="autobr"> Par contre, dans l'écriture <code class="spip_code spip_code_inline" dir="ltr">[(#INCLUREfond=inclure/inc-actualites, id_rubrique IN 1,2,3,4 )] </code>, l'inclusion ne sait à quel saint se vouer car cette écriture ne lui transmet rien : <code class="spip_code spip_code_inline" dir="ltr">, id_rubrique IN 1,2,3,4</code> est un critère au sens « boucle » du terme, pas une façon de transmettre un paramètre</p> Coder ses squelettes avec des INCLURE 2016-09-08T10:06:52Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment488885 2016-09-08T10:06:52Z <p>Bonjour,</p> <p>je souhaite qu'un inclure aille chercher des infos dans plusieurs rubriques. Je ne sais pas comment faire et je n'ai rien trouvé. <br class="autobr"> Si je fais : [(#INCLURE<i>fond=inclure/inc-actualites, id_rubrique=1</i> )], no problème.<br class="autobr"> En revanche, si je fais [(#INCLURE<i>fond=inclure/inc-actualites, id_rubrique IN 1,2,3,4</i> )] > 0 résultat<br class="autobr"> De même si je fais [(#INCLURE<i>fond=inclure/inc-actualites</i><i>id_rubrique IN 1,2,3,4</i>)].</p> <p>Pourriez vous m'aider<small class="fine d-inline"> </small>???</p> Coder ses squelettes avec des INCLURE 2008-02-25T21:35:44Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment403418 2008-02-25T21:35:44Z <p>J'arrive à qqch avec <br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr"><INCLURE{fond=inc-content_rubrique}{id_rubrique}></code>, naturellement en appliquant ça cette fois aux squelettes rubrique-X (où X est le secteur).</p> <p>Mais j'ai plus la barre avec l'accès à l'espace perso et le recalcul c'est lié<small class="fine d-inline"> </small>?</p> Coder ses squelettes avec des INCLURE 2008-02-21T20:31:58Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment403297 2008-02-21T20:31:58Z <p>Bonjour<br class="manualbr">Je travaille sur un site dont chaque secteur a une feuille de style spécifique. Tous les articles ont la même présentation, je veux donc utiliser le même code.</p> <p>J'ai créé un fichier <code class="spip_code spip_code_inline" dir="ltr">article.html</code> qui est une première personalisation depuis la dist.<br class="manualbr">Je crée ensuite un fichier <code class="spip_code spip_code_inline" dir="ltr">article-X.html</code> (où X est le numéro du secteur concerné). Dans le <code class="spip_code spip_code_inline" dir="ltr"><head></code> de ce fichier j'appelle ma feuille de style distincte. <br class="manualbr">Je crée un fichier <code class="spip_code spip_code_inline" dir="ltr">inc-content_article.html</code> ou je recopie tout (à peu de choses près) ce qu'il y a dans le <code class="spip_code spip_code_inline" dir="ltr"><body></code> du fichier <code class="spip_code spip_code_inline" dir="ltr">article.html</code>, que je remplace de suite par : <code class="spip_code spip_code_inline" dir="ltr"><INCLURE{fond=inc-content_article}{id_article}></code></p> <p>Puis ... même procédure pour <code class="spip_code spip_code_inline" dir="ltr">article-X.html</code>, l'idée étant en appelant le même <code class="spip_code spip_code_inline" dir="ltr">inc-content_article.html</code> de n'avoir plus qu'un seul endroit ou travailler sur la boucle article, chose avec laquelle je suis pas encore familier du tout.</p> <p>Seulement voilà au premier essai d'inclusion quand je raffraichis et recalcule la page (cache vidé, si si<small class="fine d-inline"> </small>!) j'ai bien le style demandé (quand-même ...) mais plus le contenu de l'article, seulement les messages de forum. <br class="manualbr">Par contre des éléments présents dans les <code class="spip_code spip_code_inline" dir="ltr"><div></code></p> <p> situés dans le fichier inclus (le tagcloud entre autres) s'affichent bien, eux.</p> <p>J'ai du oublier quelque chose mais quoi<small class="fine d-inline"> </small>?</p> <hr class="spip"> <p>SPIP 1.9.2<sup class="typo_exposants">d</sup> en local sous XP avec Easy php <a href="http://forum.spip.org/fr_200256.html#forum200633" class="spip_out" rel='nofollow external'>(avec Linux je suis pas au point)</a></p> Coder ses squelettes avec des INCLURE : mise à jour pour 1.9 2008-02-07T16:04:07Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment402927 2008-02-07T16:04:07Z <p>Bonjour —</p> <p>Tout d'abord un TRES grand merci pour ce tutoriel<small class="fine d-inline"> </small>!!! Pour la première fois je comprend la logique derrière la fonction des INCLURES et ça c'est agréable<small class="fine d-inline"> </small>!</p> <p>Je voulais simplement ajouter un petit changement d'application qui est venu avec SPIP 1.9. Je cite ce qui est expliqué dans l'article <a href="http://www.spip.net/fr_article3370.html" class="spip_out" rel='nofollow external'>Migration vers SPIP 1.9</a> :</p> <blockquote class="spip"> <p> La syntaxe des inclusions peut être simplifiée : la mention «<small class="fine d-inline"> </small>page.php3<small class="fine d-inline"> </small>» n'est plus nécessaire<small class="fine d-inline"> </small>; on ne précise plus que le nom du squelette à inclure, sous la forme <code class="spip_code spip_code_inline" dir="ltr"><INCLURE{fond=mon_squelette}{critere1}{critere2}{...}></code>.</p> </blockquote> <p>Encore merci<small class="fine d-inline"> </small>!</p> Coder ses squelettes avec des INCLURE 2007-02-25T13:00:45Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment391394 2007-02-25T13:00:45Z <p>Bonjour,<br class="autobr"> Sans beaucoup de connaissance, je transforme un site statique en site dynamique sous SPIP. J'ai deux types de présentation très différentes suivant les rubriques du site. Il faut bien sur que le site reste tel qu'il était, le but étant de pouvoir faire des mises à jour faciles et régulières.. Je pensais faire des inclures de css (css1 ou css2) mais je dois dire que je ne vois pas trop comment faire à la lecture de cet article. Je ne sais pas comment faire hériter les articles et les sous-rubriques d'une rubrique de son css. Peut-être l'inclure n'est pas une bonne solution<small class="fine d-inline"> </small>?<br class="autobr"> Merci de votre aide.</p> Coder ses squelettes avec des INCLURE 2006-11-04T17:32:54Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment388502 2006-11-04T17:32:54Z <p>Peut-on inclure dans une page rubrique.html une page article.html<small class="fine d-inline"> </small>?<br class="autobr"> Je m'explique. Je débute d'où mes difficultés<br class="autobr"> J'ai plusieurs rubriques. Je veux leur donner un apsect différent. J'ai donc une rubrique-1.html dans laquelle j'ai 3 div, une pour la liste des sous-rubriques (par logo) contenues dans la rubrique 1 :</p> <div id="col1"> <a href="#URL_RUBRIQUE" rel='nofollow'>#LOGO_RUBRIQUE</a> </div> <p>une pour la liste des articles (par logo) contenues dans la sousrubrique dans laquelle je me trouve :</p> <div id="vignettes"><ul> </ul><a href="#URL_ARTICLE" class="spip_documents_left" rel='nofollow'>#LOGO_ARTICLE</a> </div> <p>une avec le premier article de la sous-rubrique que j'ai indiqué en lien depuis ma page accueil pour ne pas arriver sur une page vide :</p> <div id="contenu"> <p>[(#TEXTE|image_reduire<i>0,440</i>)]</p> <p> </p> </div> <p>Jusque-là tout fonctionne. Le problème, c'est quand je veux cliquer vers un autre article de la sous-rubrique. Car il me semble impossible de créer une page article.html qui ressemble à ma page rubrique-1.html car je ne vais pas créer autant de page html que d'articles<small class="fine d-inline"> </small>! alors j'avais pensé inclure dans ma div#contenu un INCLURE pour appeler une page article.html. Mais je patauge complètement.<br class="autobr"> Est-ce que quelqu'un comrend ce que je feux faire<small class="fine d-inline"> </small>? Est-ce possible<small class="fine d-inline"> </small>? ou je délire complètement<small class="fine d-inline"> </small>?<br class="autobr"> Merci pour votre aide</p> Coder ses squelettes avec des INCLURE 2006-05-15T14:03:02Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment386174 2006-05-15T14:03:02Z <p>Merci pour ces explications, bien faite, elles sont le bienvenu.</p> <p>Mais j'ai un petit souci. J'ai un bout de code chargé de construire un menu en cascade des rubriques. Comme il est commun a toutes les pages, j'ai justement utilisé la methode inclure, avec page.php3 et mon fihier inc-menu comme fond. La j'obtiens la meme erreur que le message precedent, c'est a dire que la premiere fois ma page se charge bien, c'est a la deuxieme ou troisieme fois que j'obtiens une erreur 404. Je ne comprend pas bien pourquoi, car puisque la page est calculé une fois et qu'elle s'affiche nickel, pourquoi si je la ré-affiche, elle plante.</p> <p>Dans mon inc-menu.html, j'ai plusieurs boucle imbriquées, avec du php melangé a tout sa. Je me suis demandé si le php contenu dans le squelette inclus ne provoquait pas cette erreur.</p> <p>La boucle principal ne fait que parcourir toutes les rubriques, donc je ne passe pas d'argument lors du inclure.</p> <p>Je vais tenter de reverifier le code source généré par spip la première fois,peut etre qu'il y a une erreur sournoise de ma part qui fait planter par la suite.</p> <p>Merci d'avance.</p> Coder ses squelettes avec des INCLURE 2006-03-05T18:11:43Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment385615 2006-03-05T18:11:43Z <p>C'est exactement ce que j'ai fait...</p> <p>La conclusion est qu'il ne faut pas utiliser les options qu'offre SPIP... surtout si elles sont utiles à la gestion des sites<small class="fine d-inline"> </small>?!?</p> Coder ses squelettes avec des INCLURE 2006-03-05T00:10:39Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment385609 2006-03-05T00:10:39Z <p>Alors simplifie donc toi le problème, remet donc tes squelettes dans le dossier squelette.</p> Coder ses squelettes avec des INCLURE 2006-03-04T21:57:50Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment385608 2006-03-04T21:57:50Z <p>1. La version 1.8.2g</p> <p>2. mes_fonction.php3 =</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><?php $GLOBALS['dossier_squelettes'] = "intranet" ; ?></code></pre></div> <p>3. à la souche de SPIP... exactement à la même place que le dossier_squelettes.</p> <p>4. ... dois-je vraiment répondre à celle-là<small class="fine d-inline"> </small>???</p> <p>5. le URL n'est plus... mon Apache par en vrille... j'ai pas le goût de jamer mon site... ma machine test est derrière un pare-feu... D'autre part, c'est pas compliqué à reproduire : on change le dossier squelettes et on essai le site en s'assurant <strong>qu'il y a au moins 2 niveaux de profondeur d'inclure</strong>... détail que j'ai omis lors du dernier message.</p> <p>J'ai refait somme tout le test qui confirme le problème. J'ai aussi un collègue qui a expérimenté le même problème.</p> <p>Je répète qu'une fois remis dans le dossier « squelettes », les oiseaux chantent...</p> Coder ses squelettes avec des INCLURE 2006-03-02T09:40:17Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment385576 2006-03-02T09:40:17Z <p>Lors de chaque modification structurelle de ton site, penses à vider le cache de ton navigateur et de spip.</p> <p>1. Quelle version de spip utilise tu<small class="fine d-inline"> </small>?</p> <p>2. Tu as mis quoi dans ton fichier mes_fonctions.php3<small class="fine d-inline"> </small>? (recopie ton code, à l'identique entre des balises « cadre »)</p> <p>3. Tu l'as mis où ce dossier « intranet »<small class="fine d-inline"> </small>?</p> <p>4. Pourquoi ne laisses tu pas tes squelettes dans le dossier squelette<small class="fine d-inline"> </small>?</p> <p>5. URL du site<small class="fine d-inline"> </small>?</p> <blockquote class="spip"> <p>J'ignore si ce comportement est en rapport avec page.php3, mais à première vue, il semble que si puisque j'ai essayé des skins sans problème, comme kubric qui utilise les dossiers squelettes sans utiliser page.php3.</p> </blockquote> <p>Non, si cela plante, c'est que tu n'a pas fait ce que tu n'as pas mis ce qu'il faut dans le mes_fonctions.php3 ...</p> Coder ses squelettes avec des INCLURE 2006-03-02T04:56:04Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment385566 2006-03-02T04:56:04Z <p>Bonjour Vincent.</p> <p>Merci pour ta réponse.</p> <p>J'ai trouvé une autre chose étrange : je crois qu'il y a un pépin concernant la variable globale « dossier_squelette » et la méthode que tu as décrite.</p> <p>J'ai amplement utilisé la méthode de codage avec des inclure et tout s'est mis à mal tourner à partir du moment où j'ai déplacé mes squelettes dans un autre dossier nommé « intranet ». J'ai mis beaucoup de temps avant de m'en rendre compte :</p> <p>Je règle mes_fonctions.php3 et le premier chargement de la page fonctionne correctement (mais Firefox n'indique pas la fin du chargement... oH<small class="fine d-inline"> </small>!). Je clique et ça fonctionne, du moins je le crois. C'est au moment d'un Reload (F5 ou Ctrl-R) ou quand je reviens sur une rubrique en cache que ça me saute aux yeux : Erreur 404 par dessus ma page (la version 404-dist). Je reload encore... 2 erreurs 404 par dessus ma page encore... Deux ou trois autres reload et mon disque par en vrille... Panique au Pic-Nique<small class="fine d-inline"> </small>! Ça fourmille pas comme j'aimerais...</p> <p>Tout est revenu dans l'ordre en replaçant mes squelettes dans le dossiers « squelettes » et en effaçant mes_fonctions.php3...</p> <p>J'ignore si ce comportement est en rapport avec page.php3, mais à première vue, il semble que si puisque j'ai essayé des skins sans problème, comme kubric qui utilise les dossiers squelettes sans utiliser page.php3.</p> <p>M'enfin...</p> <p>Encore merci.</p> Coder ses squelettes avec des INCLURE 2006-02-26T20:35:23Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment385521 2006-02-26T20:35:23Z <p>En effet, il te faut mettre ton code dans le inclure ...</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_exclure(RUBRIQUES) {titre_mot=exclureDuMenu} {doublons exclureDuMenu}> </BOUCLE_exclure></code></pre></div> <p>à mettre dans le « inclure »</p> <p>Chaque fichier inclus est indépendant, en fait il est d'abord compilé par le moteur de spip, PUIS inclus dans le fichier de destination.</p> Coder ses squelettes avec des INCLURE 2006-02-26T19:39:52Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment385520 2006-02-26T19:39:52Z <p>Je trouve cette méthode très intéressante et j'ai fait des essais. Il s'avère, selon mes essais, que les doublons ne soit pas pris en compte... :o(</p> <p>Exemple :</p> <p>Ma page principale contient ce code afin de cacher une rubrique :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_exclure(RUBRIQUES) {titre_mot=exclureDuMenu} {doublons exclureDuMenu}> </BOUCLE_exclure></code></pre></div> <p>Mon inclure contient ce code :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_secteurs(RUBRIQUES) {racine}{par num titre} {par titre} {doublons exclureDuMenu}> ...</code></pre></div> <p>Dans cet exemple, l'effet de <i>doublons exclureDuMenu</i> est ignoré et la rubrique cachée apparaît...</p> Coder ses squelettes avec des INCLURE 2006-02-24T23:05:06Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment385515 2006-02-24T23:05:06Z <p>Tu peux inclure du php, mais dans ce cas là, il te faut faire un inclure php et non pas un inclure spip...</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><?php include("blaba.php3"); ?></code></pre></div> Coder ses squelettes avec des INCLURE 2006-02-20T21:21:16Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment385474 2006-02-20T21:21:16Z <p>Désolé mon code est tombé en miettes... à l'affichage de mon précédent message, le voilà :</p> <blockquote class="spip"> <p>< INCLURE(page.php3)<i>fond=inc_stats_punbb.php</i> ></p> </blockquote> Coder ses squelettes avec des INCLURE 2006-02-20T21:18:26Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment385473 2006-02-20T21:18:26Z <p>Ce tutoriel sur les est vraiment génialm mais j'ai néanmoins un soucis car je dispose d'un forum en PHP dont j'aimerais utiliser certaines variables, comme par exemple indiquer sur sommaire.html le dernier membre inscrit.</p> <p>Mais je n'arrive pas à inclure de PHP, j'ai donc utiliser cette méthode...</p> <blockquote class="spip"> </blockquote> <p>mais j'obtiens des erreurs... à savoir rien de ce que je veux, j'obtiens la répétition des autres blocs que j'ai créé...</p> Coder ses squelettes avec des INCLURE 2006-02-17T04:39:20Z https://files.spip.net/Coder-ses-squelettes-avec-des#comment385442 2006-02-17T04:39:20Z <p>Un gros bravo pour ce tutoriel. Enfin une approche pédagogique claire et professionnelle.</p> <p>Je serai heureux de lire les suivants.</p> <p>Je suis un hypergros consommateur des INCLURES.</p> <p>Et les noisettes... Ça se consomme comment au juste<small class="fine d-inline"> </small>?</p>