Alias d’Article

Un plugin pour créer rapidement des Alias d’article, pour afficher un contenu identique en plusieurs endroits d’une arborescence.

Il est assez fréquent de vouloir afficher une contenu identique en plusieurs endroits d’une arborescence. Même si ce genre de pratique n’est pas souhaitable, et si elle doit toujours nous amener à nous poser la question de la pertinence de notre rubriquage, elle n’en demeure pas moins nécessaire dans certains cas.

SPIP ne permettant pas d’affecter un article à plusieurs rubriques, ce genre de problème se résoud en général par l’une ou l’autre des solutions suivantes :

  • utilisation d’un article virtuel qui redirige vers l’article d’origine, ce qui est assez déroutant pour le visiteur car le fait changer de rubrique sans avertissement ;
  • duplication manuelle du contenu, ce qui est lourd à maintenir et conduit le plus souvent à ce que le contenu des pages devienne peu à peu différent, voire obsolète pour certaines.

Le plugin “Alias d’articles” vous offre une 3ème solution, par la création d’Alias d’Articles.

Une fois installé, une petite boîte apparaît sur les pages Articles de l’espace privé.

En cliquant sur l’icône vous aller créer un Alias de votre article. Vous pouvez ensuite éditer celui-ci et le changer de rubrique si nécessaire.

Vous remarquerez que chaque champ est en fait rempli par un modèle qui va afficher le contenu du champ de l’article d’origine.

Vous pouvez donc très bien modifier un champ de votre Alias, et laisser les autres identiques à l’article d’origine.

Par ailleurs, dans l’espace privé, le titre de l’article affichera toujours la mention supplémentaire “(Alias de xxx)” vous permettant de vous souvenir l’origine de cet article.

Cette mention n’est pas affichée dans le site public.

Le plugin alias est indiqué en cas de besoin ponctuel. Toutefois, si votre besoin de retrouver un même article dans plusieurs rubriques est récurrent, alors il est conseillé de voir aussi le plugin Polyhierarchie

Discussion

18 discussions

  • Bon finalement, je retourne au multirubricage, l’alias ne reprend pas non plus les numéros dans les titres des articles si, comme moi, on a l’option de suppression des numéros activée dans le Couteau suisse. Bien dommage, mais à suivre...

    Reply to this message

  • Bonjour,

    Merci pour ce plugin. Il a très bien fonctionné sur mon site (SPIP version 2.1.2 ) jusqu’à ce que j’utilise la fonction avancée “type d’adresse URL” qui permet de convertir les URL avec numéros en URL avec titres. La page Alias que j’avais créee ne pouvait alors plus s’afficher sur le navigateur (problème de boucle de redirection).

    Mais peut-être avez-vous déjà trouvé la parade...

    Reply to this message

  • The file for italian language

    <?php
    
    $GLOBALS[$GLOBALS['idx_lang']] = array(
        'create_alias' => 'Creare un Alias'
    
    );
    
    ?>

    Reply to this message

  • 4

    Bonjour
    Tout d’abord merci pour ce plug

    Quelqu’un aurait il réussi à faire des alias de Champs extra ??

    Merci pour vos réponses
    Sincèrement

    • Cela m’intéresse également!

      Merci.

    • François

      C’est super efficace !

      Mais moi aussi j’aimerai bien pouvoir intégrer les champs extras.

      Une piste ??

      MERCI

    • François

      Je me réponds à moi même...

      C’est possible d’ajouter les champs extra !!

      Dans le répertoire du plugin
      alias_article/action/aliaser.php
      dans ce fichier, compléter le array
      dupliquer une ligne par exemple la ligne 21 : 'texte' => "<article$id_article|texte>",
      remplacer texte par le nom de votre champ extra :
      "<mon_champ_extra$id_article|mon_champ_extra>",

      ensuite aller dans le repertoire modeles
      ouvrer le fichier article_texte.html

      remplacer le mot #TEXTE par le nom de votre champ extra #MON_CHAMP_EXTRA, et enregistrer_sous le fichier avec le nom de votre champ
      article_mon_champ_extra.html

      Il faut faire çà pour chaque champs si vous en avez plusieurs bien sûr.

      Et au final çà marche, vos champs extra seront copiés comme les autres.

      Pour une fois que j’arrive à trouver tout seul je partage !!

    • François

      Désolé petite erreur sur l’exemple :

      'texte' => "<article$id_article|texte>",

      'mon_champ_extra' => "<article$id_article|mon_champ_extra>",

    Reply to this message

  • Bonjour ,

    Cas embattant :
    On a des articles communs à plusieurs rubriques qui sont contenu dans une rubrique “Autre”
    Ces articles communs ont des alias dans différentes rubriques (on va dire “Rubrique1” et “Rubrique2”)

    Ces articles communs ont des liens entre eux dans le corps du message (machin-> artXX)

    Le problème est que le XX correspond au numéro de l’article (le vrai) mais pas au XX de l’alias (qui dépend donc du contexte où l’on se trouve (Rubtique1 ou Rubrique2))

    La solution proposée est d’appliquer un patch dans le squelette :
    - Avoir toujours en session, le contexte en cours (en générale l’id du secteur)
    - Lors du chargement de l’article XX, tout en haut de la page, avant le chargement du contenu :
    — Recherche l’article du secteur en cours(repris en session) qui fait l’alias vers XX
    — Ecrire une redirection en php vers la bonne URL (celle de l’alias)

    <BOUCLE_autre(HIERARCHIE){id_article}>
    	<BOUCLE_autre2(RUBRIQUES){id_rubrique}{titre_mot="Autre"}>
    		#SET{"regexrecherche", "^<article"}
    		#SET{"regexrecherche", #GET{"regexrecherche"}|concat{#ID_ARTICLE}}
    		<BOUCLE_rechercheArt(ARTICLES){texte==#GET{"regexrecherche"}}{id_secteur=#SESSION{"lastValidSecteur"}}>
    			<?php
    				header("location:[(#URL_ARTICLE{#ID_ARTICLE}||url_absolue)]");
    			?>
    		</BOUCLE_rechercheArt>
    	</BOUCLE_autre2>
    </BOUCLE_autre>

    Cela peut peut-être donner des idées a certains.

    Reply to this message

  • Bonjour,

    Parmi les futures amélioration, il faudrai intégrer la recherche sur les alias qui ne renvoi rien car elle ne recherche pas dans le contenu des articles (ou des champs mis en alias).

    Ce qui fait que la recherche semble ne pas fonctionner.

    Reply to this message

  • 1

    Depuis ma migration vers SPIP 2.0.9 [13532], l’appel dans des squelettes à des articles alias me génère le message suivant

    «Parse error: syntax error, unexpected T_STRING in /var/www/estuaire/ecrire/public.php(182) : eval()’d code»

    • Je précise , manifestement c’est la gestion du champ PS qui pose problème : exemple, dans l’article 2012 qui est un alias de l’article 1842, le champ PS de l’article 2012 «article1842|ps» génère le bug, par contre si je remplace «article1842|ps» par la valeur en dur, ça passe.

    Reply to this message

  • bonjour merci de ce plugin 2.0

    j’aime cette idée de mutualisation qui facilite la maintenance en cas de changement dans un champ.
    J’aimerais qu’à la place d’un alias de titre d’article, on est un alias de titre de mot clé ?

    Reply to this message

Add a comment

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom