Un seul article dans une rubrique > Comment faire afficher directement l’article ?
Sousou
Un seul article dans une rubrique > Comment faire afficher directement l’article ?
29 février 2004 11:02
Je n’ai parfois qu’un seul article dans une rubrique ; et j’aimerais que dans ces cas, lorsqu’on clique sur un lien de rubrique, l’article unique apparaisse plutôt que de passer par la page intermedaire de la rubrique... J’espère que c’est assez clair et que quelqu’un aura une réponse à me donner.
Claus Faber
2 mars 2004 16:14
> Un seul article dans une rubrique > Comment faire afficher directement l’article ?
hmm, il te faut un moyen pour savoir combien d’articles sont dans une rubrique. Si c’est possible à passer cette variable, tu peux faire un morceau de code PHP dans le squelette qui decide ou il faut utiliser une part du squelette avec display de rubrique ou l’autre part avec display de l’article.
Quelqu’un a une solution sauf directement marcher dans la base MySQL ? Ça m’interesse aussi !
Si tu marches directement dans la base MySQL, j’espère qu’il te faut une query comme :
<?php
if(isset($id_rubrique)) { // only ask if $id_rubrique has a value (if not: fatal mySQL error)
// define variables
$user='yourUsername';
$pass='yourPassword';
$dbase="'yourMySQL_db';
// this is the query you need
$query="SELECT COUNT(*) from spip_articles WHERE id_rubrique=$id_rubrique AND statut='publie'";
$conn = mysql_connect($dbase, $user, $pass); // open MySQL connection
if($conn) {
mysql_select_db($dbase, $conn); // connection successful: ask MySQL
}
else {
die("<B>Error: Cannot connect to MySQL-Server"); // connection failed for whichever reason. check user, pw and db
}
$result = mysql_query ($query,$conn); // mySQL stores result in a buffer; retrieve it.
mysql_close($conn); // DON'T FORGET: close the connection or other SPIP queries will fail
} // fermer la boucle isset($id_rubrique)
if($result>1) { // now you can ask: is there more than 1 article?
?>... put here the squelette code for rubrique display
<?php } elseif($result==1) { // is there only one article? ?>
... put here the squelette code for article display;
<?php } else { // ... or is there no article at all? ?>
... put here the squelette code for no_article_in_this_section
<?php } // ne pas oublier à fermer la boucle if! ?>
Ce code a encore un trou : Quand tu as une rubrique avec un seul article ET des sous.-rubriques, quoi faire ? Peut-être il faut reformuler la query un peu. Je n’ai pas encore trouvé comme SPIP trouve si il y a une sous rubrique dans une rubrique.
Quand-même il faut que tu écrives le code de display pour l’article deux fois : une fois dans article.html, et l’autre fois dedans rubrique.html.
F pascal
2 mars 2004 16:22
> Un seul article dans une rubrique > Comment faire afficher directement l’article ?
Pour compter le nombre d’articles dans la rubrique 5, il suffit de taper :
> Un seul article dans une rubrique > Comment faire afficher directement l’article ?
Merci pour votre contribution !
Pas si simple tout ça quand même ;-)
ARNO*
3 mars 2004 11:16
> Un seul article dans une rubrique
La solution est très simple et ne nécessite pas de PHP. Inutile aussi de compter le nombre d’articles avec #TOTAL_BOUCLE. Il suffit de réaliser une boucle qui teste s’il existe un deuxième article dans la rubrique ; si un tel article existe, alors on effectue une boucle affichant la liste des articles de la rubrique ; sinon, il n’y a qu’un seul article, et c’est lui qu’on affiche complètement.
Voici une boucle pour tester s’il y a un "deuxième article" dans la rubrique : le critère {1,1} sélectionne 1 article à partir du deuxième article :
Il suffit donc d’insérer l’affichage nécessaire dans cette boucle :
Lulubel
28 avril 2005 15:58
> Un seul article dans une rubrique > Comment faire afficher directement l’article ?
Mais personnellement, je préfère laisser les admins choisir par un mot-clé de rediriger telle rubrique vers tel article, ça permet de décider au cas par cas. Par exemple, une rubrique peut ne contenir qu’un seul article mais bien des brèves, des liens, des documents...
Donc, dans le squelette de ma rubrique, j’ai :
La BOUCLE_redirection sélectionne un et un seul article, appartenant à la rubrique et associé au mot-clé en question (ici le n°6). S’il y en a un, on inclut directement la page article.php3.
Sinon (<//B_redirection>), affichage normal de la rubrique.
> Un seul article dans une rubrique > Comment faire afficher directement l’article ?
ma solution, identique à celle dd’ARNO à un epsilon près...
Bibouw
28 août 2005 23:31
> Un seul article dans une rubrique > Comment faire afficher directement l’article ?
Merci pour vos lumières mais j’ai toujours une partie nébuleuse...
Moi j’ai essayé la solution d’Arno, je n’ai pas de problème pour afficher les rubriques lorsqu’il y en a plusieurs par contre je n’arrive pas à afficher l’article s’il est tout seul dans sa rubrique...
Pourant j’ai fait copier collé, puis copié et collé petit à petit mais pas plus de résultat.
J’ai la tite phrase : "Il n’y a pas de deuxième article dans la rubrique : "qui s’affiche, et je lui ai demandé :
Il n’y a pas de deuxième article dans la rubrique : #TITRE
/B_tester_deuxieme>
Bibouw
28 août 2005 23:38
> Un seul article dans une rubrique > Comment faire afficher directement l’article ?
Je répond toute seule : (mais je sais pas comment mettre le code pour qu’il arrive entier dans le forum (je suis débutanet ;o) - donc j’ai retiré les signes plus petit et plus grand
Il n’y a pas de deuxième article dans la rubrique :
BOUCLE_articles_unseul(ARTICLES) id_rubrique0,1
#TITRE
/BOUCLE_articles_unseul
PyoRo
12 août 2006 16:58
Un seul article dans une rubrique > Comment faire afficher directement l’article ?
Très simple la solution d’arno mais elle ne marche pas :s
PyoRo
12 août 2006 17:04
Un seul article dans une rubrique > Comment faire afficher directement l’article ?
Pour que ça marche j’ai dû faire une petite modification :
Un seul article dans une rubrique > Comment faire afficher directement l’article ?
La solution d’Arno fonction très bien en 1.9.2. Comme mentionné dans les commentaires il manque en effet une boucle dans le code donné. Au total ça donne ceci :
elisa
30 juillet 2007 00:21
Un seul article dans une rubrique > Comment faire afficher directement l’article ?
merci, c’est exactement ce dont j’avais besoin, il faut rajouter un "S" à (ARTICLE), il en manque quelques uns
sinon spip ne trouve pas les tables
j’afficherais bien le code, mais j’ai des problemes avec la balise "insérer du code" dans le formulaire du message, désolée, si quelqu’un est plus doué que moi, qu’il le fasse... et
encore merci
Maitresinh
6 août 2007 12:45
Un seul article dans une rubrique > Comment faire afficher directement l’article ?
Tres simple, trop,s : resultat je dois etre un peu neuneu mais j’ai du mal a comprendre. Je teste mais rien a faire.
Une ame charitable et secourable pourrait m’aider a l’implanter pas a pas ?
Stanislas
6 août 2007 15:18
Un seul article dans une rubrique > Comment faire afficher directement l’article ?