Afficher l’URL propre dans la partie privée

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Dans l’interface privée j’affiche le nom de la future page
(en haut de la colonne de gauche, dans le petit cadre sous l’Id de l’article). C’est très pratique pour la mise au point des url_propres alors voici comment faire.

Attention : il faut que cette information n’apparaisse qu’à la personne chargée des url_propres, que ci après je vais appeler le webmaster.
En effet, les rédacteurs doivent continuer à faire des liens utilisant l’Id de l’article ([un lien->334]) et ne doivent surtout pas utiliser directement l’adresse propre, toujours susceptible de changer si l’algorythme change !!
Je suppose dans ce qui suit que le webmaster a un identifiant d’auteur égal ... à 1 , ce qui est souvent le cas... Si il y a d’autres webmasters, ajustez le test en première ligne.

Le code à ajouter se situe aux environs de la ligne 397 (sur a 1.8.1) de ecrire/articles.php3 :

...
echo "<font face='Verdana,Arial,Sans,sans-serif' size='1'><b>"._T('info_numero_article')."</b></font>\n";
echo "<br><font face='Verdana,Arial,Sans,sans-serif' size='6'><b>$id_article</b></font>\n";

// JLUC Ajout affichage url_propre sous le numéro de l'article
          if ($auteur_session['id_auteur']==1) { 
		$row = spip_fetch_array(spip_query("SELECT url_propre FROM spip_articles WHERE id_article=$id_article"));
		$url_propre = $row['url_propre'];
		if ($url_propre AND $url_propre != "")
			echo "<br><font face='Verdana,Arial,Sans,sans-serif' size='1'><b>Adresse publique de la page :<br>"
				.$url_propre."</b></font>\n";
           };
// JLUC Fin de l'ajout		

voir_en_ligne ('article', $id_article, $statut_article);
...

Discussion

Une discussion

  • 3

    Bonjour
    Ce serait très très utile si on pouvait editer l’url ; ça permettrait de mettre les mots clés souhaités

    • Je viens de travailler sur le fait d’ajouter la possibilité de modifier l’url propre à partir de l’interface privée. Attention toutefois, la modification que je propose n’effectue absolumment aucune vérification. Par conséquent, si vous utilisez des caractères non adéquats, cela peut faire planter l’accès à l’article. J’utilise la même vérification que dans la contrib, à savoir que l’id de l’auteur doit être 1.

      Dans articles_edit.php3, par exemple après :

      if ($lier_trad) {
      	echo "<INPUT TYPE='Hidden' NAME='lier_trad' VALUE='$lier_trad'>";
      	echo "<INPUT TYPE='Hidden' NAME='changer_lang' VALUE='$spip_lang'>";
      }

      Ajouter :

      // Ajout affichage url_propre
              if ($auteur_session['id_auteur']==1) {
      			echo "<B>Url propre</B>";
      			echo "<BR><INPUT TYPE='text' NAME='url_propre' CLASS='forml' VALUE=\"$row[url_propre]\" SIZE='40'><P>";
      		}
      		else {
      			echo "<INPUT TYPE='hidden' NAME='url_propre' VALUE=\"$url_propre\" >";
      		};
      // Fin ajout

      Et dans articles.php3, remplacer :

      $query = "UPDATE spip_articles SET surtitre='$surtitre', titre='$titre', soustitre='$soustitre', $change_rubrique descriptif='$descriptif', chapo='$chapo', texte='$texte', ps='$ps', url_site='$url_site', nom_site='$nom_site' $add_extra WHERE id_article=$id_article";

      Par :

      $query = "UPDATE spip_articles SET url_propre='$url_propre', surtitre='$surtitre', titre='$titre', soustitre='$soustitre', $change_rubrique descriptif='$descriptif', chapo='$chapo', texte='$texte', ps='$ps', url_site='$url_site', nom_site='$nom_site' $add_extra WHERE id_article=$id_article";

      Je n’ai fait que des tests rapides et sur un site qui utilise le champ url_propre de façon détournée. Aussi, pensez à sauvegarder votre site avant de tenter quoi que ce soit, au cas où.

    • Bonjour ,

      Voici une adaptation de cette contrib pour SPIP 1.9.2

      Dans le fichier inc/editer_article.php ajouter en fin de fichier la fonction suivante :

      function editer_article_url_propre($url_propre, $config, $aider)
      {
      	if ($GLOBALS['auteur_session']['statut'] == '0minirezo') {
        	return  "\n<p><b>"
        		. 'URL Propre' # (à mettre ds fichier de langue)
        		."</b><br />"
        		.	"<input type='text' name='url_propre' class='forml spip_xx-small' value=\"$url_propre\" size='40' />"
        		. "</p>\n";
      	}
      	else {
        	return "";
      	}
      }

      Et dans la fonction « inc_editer_article_dist » ajoutez la ligne suivante quelque part entre la ligne n°49 et n° 59 de ce fichier :
              . editer_article_url_propre($row['url_propre'], $config, $aider)  # ajout edition url propre

      Ici, la fonction est réservée aux administrateurs et aucun contrôle n’est fait sur le texte saisi.

      Conseil : mettre le fichier modifié « inc/editer_article.php » dans un plugin.

    • Merci pour ces mises à jours et compléments.

      Tu conseilles de mettre « en plugin » : veux tu dire simplement : « dans un sous répertoire inc du dossier squelette » ? (car a priori cela suffit, pas la peine de plugin)

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom