SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

290 Plugins, 198 contribs sur SPIP-Zone, 94 visiteurs en ce moment

Accueil > Multilinguisme > Domaines par langue > Plugin Domlang : Domaines par secteur de langue

Plugin Domlang : Domaines par secteur de langue

4 septembre 2017 – par Matthieu Marcillaud, Sandrine – commentaires

9 votes

Domlang est un plugin qui permet d’associer un nom de domaine ou un sous-domaine à un secteur de langue.

Ce plugin convient pour un site qui utilise des secteurs de langues. En configuration, pour chaque secteur, vous pourrez définir une URL spécifique (nom de domaine ou sous domaine) qui correspond à cette langue.

Installation

Le plugin s’installe comme n’importe quel plugin.

Structure de votre site multilingue
Votre site doit contenir des secteurs de langue (plus d’informations sur la création d’un site multilingue par ici)

Gestion de vos domaines
Pour pouvoir utiliser Domlang, vos noms de domaines et/ou sous-domaines doivent pointer vers le même dossier de votre serveur (vérifier la possibilité de gérer le dossier de destination de votre nom de domaine chez votre hébergeur).

Configurer Domlang

-  Configurer les noms de domaines
Dans /ecrire/ ?exec=configurer_domlang
Le formulaire de config liste les secteurs existants, et permet de renseigner le nom de domaine de chaque langue/chaque secteur.

Domlang : configuration des urls par secteur de langue

-  Réécrire les urls en fonction du secteur
Dans /ecrire/ ?exec=configurer_urls
Sélectionner « URLs Arborescente sans secteur de langue » (/arbo/sans/la/racine/article/titre)

Domlang : configurer les urls arborescentes sans secteur de langue

Balises modifiées par le plugin

Certaines balises d’URL sont modifiées afin d’utiliser les domaines configurés :

  • `#URL_SITE_SPIP` retourne l’URL du site pour la langue en cours d’utilisation
  • `#URL_ARTICLE` ou `#URL_RUBRIQUE` retournent une URL relative si l’article ou la rubrique est dans la langue en cours, sinon, ces balises retournent une URL absolue de l’article ou la rubrique avec l’URL correspondant à sa langue.

Dernière modification de cette page le 4 septembre 2017

Retour en haut de la page

Vos commentaires

  • Le 21 novembre 2017 à 14:16, par cam.lafit En réponse à : Plugin Domlang : Domaines par secteur de langue

    Salut

    Le plugin est nickel ça répond bien à un cas d’usage rencontré.

    Je n’ai pas encore regardé comment faire mais il serait intéressant de permettre la surcharge au niveau du plugin menu. Par exemple si on défini un élément de type arborescence ,le contexte du secteur n’est pas pris en compte.

    • Le 21 novembre 2017 à 15:02, par cam.lafit En réponse à : Plugin Domlang : Domaines par secteur de langue

      Salut

      J’ai une solution qui me semble bancale. J’ai créé une balise #SECTEUR_DOM qui prend le contexte de langue ou en argument la langue fournie et retourne l’id_rubrique associée.

      1. /**
      2.  * Compile la balise `#SECTEUR_DOM` qui retourne le secteur associé à l'URL du site
      3.  *
      4.  * Peut transmettre une langue en premier paramètre
      5.  * `#SECTEUR_LANG{en}`
      6.  *
      7.  * @balise
      8.  *
      9.  * @param Champ $p
      10.  *     Pile au niveau de la balise
      11.  * @return Champ
      12.  *     Pile complétée par le code à générer
      13.  */
      14. function balise_SECTEUR_DOM_dist($p) {
      15.         $lang = interprete_argument_balise(1, $p);
      16.         $p->code = "domlang_get_secteur($lang)";
      17.         $p->code = "spip_htmlspecialchars(" . $p->code . ")";
      18.         $p->interdire_scripts = false;
      19.         return $p;     
      20. }
      21.  
      22.  
      23. /**
      24.  * Définit le secteur associé au domaine depuis lequel on arrive.
      25.  *
      26.  * Si on ne trouve pas de langu on conssidére la langue du domaine principal.
      27.  *
      28.  */
      29. function domlang_get_secteur($lang = null) {
      30.         if (!$lang) {
      31.                 $lang = $GLOBALS['spip_lang'];
      32.         }
      33.     $id_rubrique = sql_getfetsel('id_rubrique','spip_rubriques', array('id_parent =0','lang ='.sql_quote($lang)));
      34.     return $id_rubrique;
      35. }

      Télécharger

      Ensuite dans une surcharge du squelette rubriques_completes.html de menu j’ai rajouté le test suivant

      1. [(#GET{id_rubrique}|=={0}|oui) #SET{id_rubrique,#SECTEUR_DOM}]

      Je suppose qu’on peut rendre plus transparent ce comportement.

    Répondre à ce message

  • Le 17 septembre 2017 à 23:02, par Loiseau2nuit En réponse à : Plugin Domlang : Domaines par secteur de langue

    #ClapClapClap :-)

    juste le passage sur les paramétrages d’url sont pas clairs (et les explications sur le formulaire lui même non plus d’ailleurs).
    Faut il impérativement passer en urls arbos ? pourquoi ?

    Merci ;)

    • Le 22 septembre 2017 à 17:26, par Sandrine En réponse à : Plugin Domlang : Domaines par secteur de langue

      Bonjour Loiseau2nuit

      Quelles sont les infos qu’il te manque pour le paramétrage ?

      Pour les urls arbos, oui... C’est l’objet-même du plugin.

      Si tu n’as pas besoin d’urls arbo, tu peux gérer ton site multilingue (ou non) avec le plugin multidomaines qui permet d’associer un nom de domaine à un secteur.
      Le hic en multidomaines, c’est que quand tu utilises les urls arbo, tu as un niveau d’arborescence inutile...

      Exemple :
      Ton secteur 1 a pour titre « secteur FR » et est configuré en langue française. Tu lui associes le domaine « mondomaine.fr ».
      Ton secteur 2 a pour titre « secteur EN » et est configuré en langue anglaise. Tu lui associes le domaine « mydomain.com ».
      Avec multidomaines, tes urls ressembleront à :
      mydomain.com/secteur-EN/bla-bla
      Or :
      -  mydomain.com et mydomain.com/secteur-EN/ affichent le même contenu (celui de ton secteur 2)
      -  tu ajoutes un niveau de répertoire virtuel (ici /secteur-EN/) qui n’est pas pertinent

      C’est là que Domlang intervient en supprimant le premier niveau d’arborescence dans l’url.

      Bonne fin de journée !

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • PHANTOM (HTML5UP)

    18 juillet – 11 commentaires

    Squelette SPIP pour intégrer le modèle Phantom de HTML5UP. https://html5up.net/phantom Installation A l’activation, le plugin installe aussi les plugins suivants : crayons, favicon, metasplus+, Couleur d’objet, champs extras, SPIP reset centre (...)

  • ScolaSPIP 3

    21 mai 2012 – 448 commentaires

    Un plugin-squelette personnalisable pour sites Web d’établissements scolaires

  • Formulaire d’upload en html5

    27 avril 2015 – 93 commentaires

    Un formulaire d’upload en html5 pour l’interface admin de SPIP. Ce plugin ajoute un système d’upload moderne à SPIP. Il peut être utilisé pour l’upload de masse. Ce système est basé sur dropzonejs. Utilisation Espace privé de SPIP Dans l’espace (...)

  • Passer un site SPIP sous https://

    23 février 2017 – 42 commentaires

    Comment migrer simplement votre site SPIP de http:// vers https:// Le protocole https:// devient de plus en plus courant : C’est mieux pour la vie privée de tous La plupart des grands sites l’a déjà adopté Certains navigateurs commencent à afficher (...)

  • SPIP 3.2, Agenda et FullCalendar

    6 juin – 20 commentaires

    Nous avions publié un article sur la manière d’utiliser FullCalendar avec SPIP 3.0 afin d’afficher des évènements sous forme d’Agenda. La version de FullCalendar a changé avec SPIP 3.2. Le présent article est donc un tutoriel adapté à SPIP 3.2. Pour (...)