SPIP-Contrib

SPIP-Contrib

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

290 Plugins, 198 contribs sur SPIP-Zone, 103 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

10 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 ?
  • [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 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

  • spiPDF : générer des contenus sur mesure en PDF

    16 février 2011 – 239 commentaires

    Le plugin spiPDF génère des fichiers au format PDF d’article ou de tout autre élément SPIP, simplement à partir d’un squelette construit au format HTML 4 et facile à modifier. Avertissement de sécurité Ce plugin a fait l’objet d’une faille de sécurité (...)

  • Hébergeurs payants

    24 janvier 2009 – 35 commentaires

    Cet article en encore à réorganiser / scinder en deux selon le type (mutualisé ou pro). À priori, SPIP fonctionnera sur tout hébergeur payant traditionnel (qui propose PHP et MySQL). Merci de ne pas mettre des remarques du genre « l’hébergeur truc (...)

  • MediaBox

    10 mai 2010 – 541 commentaires

    Avertissement Le présent plugin est installé et activé par défaut sur toute les version de SPIP > 3.0. Inutile donc de l’installer manuellement sauf si vous utilisez SPIP 2.1. Aperçu La MediaBox est une Boîte multimédia polyvalente et (...)

  • Convertir un site SPIP 3 en utf-8 avec le plugin Grenier

    8 janvier 2014 – 24 commentaires

    SPIP 3 fonctionne nativement avec l’encodage universel unicode utf-8. Sur certains sites (par exemple sur une mise à jour), on peut avoir un site qui est resté en iso-latin ce qui n’est pas conseillé (source de bugs, d’incompatibilité, ...) . (...)

  • DocumentationFormsTables

    9 décembre 2006 – commentaires

    Article publié : ces notes et d’autres sont désormais publiées sur SPIP-Contrib ici Forms & tables - carnet de notes, donc il faut mieux y aller pour tout complément Différence entre un formulaire et une table un formulaire est dédié a la saisie (...)