Réécriture url : un propre-qs affichant le surtitre de l'article ?

Non, en fait, je n’ai que des pages rubriques dans lesquelles j’affiche l’unique article de la rubrique et je voudrais que l’url de cette page rubrique contenant l’article affiche le surtitre de l’article.
Si j’applique le code ci-dessous, cela ne marche page car la rubrique ne contient pas de surtitre, je pense…
Donc, pour les pages rubriques, je veux afficher le surtitre de l’article.

From: « denisb » <denisb@laposte.net>

camilou wrote:

J’aimerai indiquer dans l’url le surtitre de l’article et non le titre de la rubrique

tu veux pour les pages rubrique le surtitre de la rubrique
et pour les pages article le surtitre de l’article
c’est ça ?

je crois comprendre qu’il me faut modifier le fichier propres.php.

dans la fonction _generer_url_propre() de ecrire/url/propres.php,
aux alentours des lignes 50,
modifier :
if ($type == ‹ auteur ›)
$champ_titre = ‹ nom AS titre ›;
else if ($type == ‹ site › OR $type==‹ syndic ›)
$champ_titre = ‹ nom_site AS titre ›;
else
$champ_titre = ‹ titre ›;

en :
if ($type == ‹ auteur ›)
$champ_titre = ‹ nom AS titre ›;
else if ($type == ‹ site › OR $type==‹ syndic ›)
$champ_titre = ‹ nom_site AS titre ›;
else if ($type == ‹ rubrique › OR $type==‹ article ›)
$champ_titre = ‹ surtitre AS titre ›;
else
$champ_titre = ‹ titre ›;

camilou wrote:

je n'ai que des pages rubriques dans lesquelles j'affiche l'unique article de la rubrique et je voudrais que l'url de cette page rubrique contenant l'article affiche le surtitre de l'article.

hum...

le plus simple serait sans aucun doute de passer le surtitre de l'article en titre de la rubrique (renseigner manuellement)

mais bon...

tu oublies mon post précédent et tu modifies dans propres.php
aux alentours de la ligne 80

[...]
// Sinon, creer l'URL
include_spip('inc/filtres');
include_spip('inc/charsets');
/******** modification pour surtitre *******/
if ($type == 'rubrique') {
   $srt = spip_query("SELECT spip_articles.surtitre FROM spip_articles AS surtitre WHERE spip_articles.id_rubrique=$id_objet limit 0,1");
   while($res = spip_fetch_array($srt)) {
     $url = translitteration(corriger_caracteres(
       supprimer_tags(supprimer_numero(extraire_multi($res['surtitre'])))
       ));
   }
}
else {
/******** fin modification pour surtitre *******/
   $url = translitteration(corriger_caracteres(
     supprimer_tags(supprimer_numero(extraire_multi($row['titre'])))
     ));
/******** modification pour surtitre *******/
}
/******** fin modification pour surtitre *******/

$url = @preg_replace(',[[:punct:][:space:]]+,u', ' ', $url);
// S'il reste trop de caracteres non latins, ou trop peu
[...]

denisb wrote:

   $srt = spip_query("SELECT spip_articles.surtitre FROM spip_articles AS surtitre WHERE spip_articles.id_rubrique=$id_objet limit 0,1");

holala...
corriger ça !

$srt = spip_query("SELECT spip_articles.surtitre AS surtitre FROM spip_articles WHERE spip_articles.id_rubrique=$id_objet LIMIT 0,1");