Balise #RUBRIQUE_PRINCIPALE - commentaires Balise #RUBRIQUE_PRINCIPALE f 2009-09-27T18:59:39Z https://files.spip.net/Balise-RUBRIQUE_PRINCIPALE#comment421045 2009-09-27T18:59:39Z <p>Arthegone,</p> <p>Pour que celà fonctionne, il faut que la boucle contenant #RUBRIQUEPRINCIPALE soit incluse dans une boucle mère. Alors ça marchera<small class="fine d-inline"> </small>;)</p> <p>Jérémie.</p> Balise #RUBRIQUE_PRINCIPALE 2009-09-26T19:40:14Z https://files.spip.net/Balise-RUBRIQUE_PRINCIPALE#comment421016 2009-09-26T19:40:14Z <p>Bonjour<small class="fine d-inline"> </small>!</p> <p>Merci pour cette contribution<small class="fine d-inline"> </small>!! Très interessante.</p> <p>Existe-t-il quelque chose de similaire pour les brèves<small class="fine d-inline"> </small>?</p> <p>Comment faire dans un cas de multilinguisme avec des rubrique racine par langue pour insérer des brèves associée, aux rubriques principale, justement ....</p> <p>Si quelqu'un a une idée...</p> Balise #RUBRIQUE_PRINCIPALE 2009-03-31T12:17:04Z https://files.spip.net/Balise-RUBRIQUE_PRINCIPALE#comment414975 2009-03-31T12:17:04Z <p>OK j'avais bien noté :)</p> <p>Je me suis mal exprimé.</p> <p>Moi aussi spip_rubriques est le nom de ma table (prefixe par defaut « spip_ »).</p> <p>Pour le moment je ne vois pas ce qui merde...</p> <p>Faut que je trouve ce qui me génère cette erreur.</p> <p>Merci encore Thomas<small class="fine d-inline"> </small>;)</p> <p>PS :<br class="autobr"> Est il possible que tu m'envoie ton mes_fonction.php<small class="fine d-inline"> </small>?</p> Balise #RUBRIQUE_PRINCIPALE 2009-03-31T09:48:47Z https://files.spip.net/Balise-RUBRIQUE_PRINCIPALE#comment414970 2009-03-31T09:48:47Z <p>Spip_rubriques est le nom de MA table. Il faut bien sur adapter le code en fonction de ta configuration.</p> Balise #RUBRIQUE_PRINCIPALE 2009-03-30T22:27:28Z https://files.spip.net/Balise-RUBRIQUE_PRINCIPALE#comment414963 2009-03-30T22:27:28Z <blockquote class="spip"> <p>As-tu au préalable modifié le code en fonction du nom de ta table<small class="fine d-inline"> </small>?</p> <p>Je m'explique : dans le code suivant tu dois remplacer spip_rubriques par le nom de ta table Mysql.<br class="autobr"> $requete = « SELECT id_parent, id_secteur FROM spip_rubriques WHERE id_rubrique = $idrubrique »<small class="fine d-inline"> </small>;</p> </blockquote> <p>Thomas, je ne comprends pas pourquoi je dois changer ma table spip_rubriques. Il me semble que c'est elle qui gere justement les rubriques.</p> <p>Par contre (je ne suis pas un pro de SQL) mais jamais on ne met le nom de la base SQL c'est normal<small class="fine d-inline"> </small>?</p> <p>sinon je ne vois pas pourquoi cela merde aussi bien en local que sur le web.</p> <p>Tu as quelle version de spip exactement<small class="fine d-inline"> </small>?</p> Balise #RUBRIQUE_PRINCIPALE 2009-03-30T12:56:15Z https://files.spip.net/Balise-RUBRIQUE_PRINCIPALE#comment414925 2009-03-30T12:56:15Z <p>As-tu au préalable modifié le code en fonction du nom de ta table<small class="fine d-inline"> </small>?</p> <p>Je m'explique : dans le code suivant tu dois remplacer <i>spip_rubriques</i> par le nom de ta table Mysql.</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>$requete = "SELECT id_parent, id_secteur FROM spip_rubriques WHERE id_rubrique = $idrubrique";</code></pre></div> Balise #RUBRIQUE_PRINCIPALE 2009-03-30T10:15:04Z https://files.spip.net/Balise-RUBRIQUE_PRINCIPALE#comment414920 2009-03-30T10:15:04Z <p>Salut Thomas,</p> <p>Suite à l'utilisation de ton PREMIER code, pour commencer, j'ai une erreur sur mes_fonctions.php</p> <p><strong>message :</strong></p> <p>Warning : mysql_fetch_row() : supplied argument is not a valid MySQL result resource in F :\PortableApps\EasyPHP 2.0b1\www\spipjuin2008\mes_fonctions.php on line 13</p> <p><strong>Mon fichier mes_fonctions.php</strong></p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><?php function balise_RUBRIQUEPRINCIPALE($p){ $_id_rubrique = interprete_argument_balise(1,$p); if (!$_id_rubrique) $_id_rubrique = champ_sql('id_rubrique',$p); $p->code = "fce_getRubriquePrincipale($_id_rubrique)" ; $p->interdire_scripts = false; return $p; } function fce_getRubriquePrincipale($idrubrique) { $requete = "SELECT id_parent, id_secteur FROM spip_rubriques WHERE id_rubrique = $idrubrique"; $query = mysql_query($requete); $row = mysql_fetch_row($query); $idparent = $row[0]; $idsecteur = $row[1]; if ($idparent == $idsecteur) return $idrubrique; return fce_getRubriquePrincipale($idparent, $idsecteur); } ?></code></pre></div> <p>il n'y a rien d'autre que ton script.</p> <p>Je ne comprend pas l'erreur en fait.</p> <p>La balise #INSERT_HEAD est presente dans ma page (sommaire.html)</p> <p>Et j'ai ton code de base pour le bouclage.</p> <p>Bizarre...</p> Balise #RUBRIQUE_PRINCIPALE 2009-03-27T12:29:34Z https://files.spip.net/Balise-RUBRIQUE_PRINCIPALE#comment414833 2009-03-27T12:29:34Z <p>Bonjour, ce code ne fonctionne que pour des rubriques de niveau 1 (dont le parent est id_secteur). En effet, le principe de la boucle est d'effectuer une <strong>récursivité</strong> jusqu'à ce que <strong>id_parent soit égal à id_secteur</strong>. Maintenant si tu veux récuperer les id des rubriques de niveau 3 je te propose le code suivant un peu différent :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function fce_getRubriquePrincipale($idrubrique) { $requete = "SELECT id_parent, id_secteur FROM spip_rubriques WHERE id_rubrique = $idrubrique"; $query = mysql_query($requete); $row = mysql_fetch_row($query); $idparent = $row[0]; $idsecteur = $row[1]; if ($idparent == $idsecteur) { $requete2 = "SELECT id_rubrique FROM spip_rubriques WHERE id_parent = $idrubrique"; $query2 = mysql_query($requete2); $row2 = mysql_fetch_row($query2); $idniveau2 = $row2[0]; $requete3 = "SELECT id_rubrique FROM spip_rubriques WHERE id_parent = $idniveau2"; $query3 = mysql_query($requete3); $row3 = mysql_fetch_row($query3); $idniveau3 = $row3[0]; return $idniveau3; } return fce_getRubriquePrincipale($idparent); }</code></pre></div> Balise #RUBRIQUE_PRINCIPALE 2009-03-27T09:48:17Z https://files.spip.net/Balise-RUBRIQUE_PRINCIPALE#comment414824 2009-03-27T09:48:17Z <p>Bonjour Thomas, contribution très interessante.</p> <p>En ce qui me concerne (ne maitrisant pas trop le php) mes secteurs serait plutot de niveau 3.</p> <p>Quelle est la valeur à changer dans mes_fonctions.php<small class="fine d-inline"> </small>?</p>