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 3e 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...

    Répondre à ce 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...

    Répondre à ce message

  • The file for italian language

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

    Répondre à ce 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.

    • C’est super efficace !

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

      Une piste ??

      MERCI

    • 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 !!

    • Désolé petite erreur sur l’exemple :

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

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

    Répondre à ce 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.

    Répondre à ce 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.

    Répondre à ce 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.

    Répondre à ce 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é ?

    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