Personnaliser les champs de l’espace privé

Comment choisir le type de champ et le texte des champs dans l’espace privé en fonction des rubriques.

Le besoin

J’ai récemment mis en ligne un site sous SPIP 1.9.1 avec les contraintes suivantes :
-  nombreux rédacteurs à priori
-  plusieurs types d’articles traités différemment dans les squelettes par des choix de mots clés.

Il est apparu très vite que les champs par défaut de l’espace privé (Sur-titre, Titre, Chapeau, etc.) ne seraient pas assez explicites, surtout lorsque l’on commence à detourner les champs Surtitre et Titre pour entrer Prénom et Nom par exemple.

D’autre part, suivant les rubriques les types et le nombre des données à entrer sont différents : pour une rubrique annuaire, on désirera par exemple créer des articles avec des champs Nom, Prénom, Tel, email, etc. Par contre pour une autre rubrique on ne désirera peut être pour les articles que deux champs seulement, et pour d’autres les champs classiques de SPIP.

Dans mon exemple particulier je désirais en particulier avoir une rubrique Annuaire, dans laquelle chaque personne est entrée sous la forme d’un article, une rubrique Publications, une rubrique Séminaires, etc. Lorsque un utilisateur lambda arrive sur l’interface privée du site, s’il désire entrer une nouvelle Publication par exemple, il faut qu’il puisse entrer sans avoir à se poser de questions les différents champs clairement identifiés.

La seule chose que j’ai pu trouver sur le sujet est présenté dans cet article Personnaliser son espace privé en fonction de la rubrique [1]. Elle présente cependant quelques désavantages, notamment sur l’utilisation d’un seul et même fichier de langue pour espace privé et public (on ne peut pas avoir la double fonctionnalité)

Une solution

La solution que j’ai utilisé pour répondre à ces différents impératifs est largement basée sur l’article suscité :
-  Détournement des fichiers langues
-  Un peu de bidouille...

Avec deux améliorations majeures :
-  On garde la possibilité d’utiliser local_fr.php pour la définition des balises multilingues de l’espace public
-  On peut de plus choisir quels champs afficher

Dans le dossier squelettes je crée un premier fichier local_fr.php avec mes définitions habituelles des balises cf multilinguisme et un deuxième, local_prive_fr.php dans lequel je vais définir mes champs.

La première chose à faire est de surcharger le fichier de langue en faisant trouver à spip le fichier local_prive_fr.php.
Pour cela il faut ajouter à la fin de local_fr.php les lignes suivantes :

<?php
// This is a SPIP language file  --  Ceci est un fichier langue de SPIP


// ESPACE PUBLIC

$GLOBALS[$GLOBALS['idx_lang']] = array(
'balise1' => 'Ma premi&egrave;re balise',
'balise2' => 'Ma deuxi&egrave;me balise'
);

if ($f = chercher_module_lang('local_prive_fr'))
surcharger_langue($f);

?>

Ensuite dans le fichier local_prive_fr.php il faut redéfinir les titres des champs en fonction des rubriques (ou des articles, des brèves, etc.).
Ce sera par exemple :

<?php

// On commence par récupérer l'id article ou rubrique ou autre:

include_spip('base/db_mysql');

$id_art = $GLOBALS['id_article'];
$id_rub = $GLOBALS['id_rubrique'];

// On détermine ensuite à quel secteur appartient le rubrique ou l'article:

if ($id_art == ''){
$row = spip_fetch_array(spip_query("SELECT id_secteur FROM spip_rubriques WHERE id_rubrique=$id_rub"));
$id_sect  = $row['id_secteur'];
}
if ($id_rub == ''){
$row = spip_fetch_array(spip_query("SELECT id_secteur FROM spip_articles WHERE id_article=$id_art"));
$id_sect  = $row['id_secteur'];
}

// On peut maintenant personnaliser l'affichage 
//de l'article à modifier
// en fonction du secteur auquel il appartient:


// Espace privé: Annuaire

if ($id_sect=='21') {
// On choisit quels champs afficher:
$GLOBALS['meta']["articles_surtitre"] = "oui";
$GLOBALS['meta']["articles_titre"] = "oui";
$GLOBALS['meta']["articles_soustitre"] = "oui";
$GLOBALS['meta']["articles_descriptif"] = "non";
$GLOBALS['meta']["articles_chapeau"] = "non";
$GLOBALS['meta']["articles_ps"] = "non";
$GLOBALS['meta']["articles_redac"] = "oui";
$GLOBALS['meta']["articles_urlref"] = "oui";

// ... et le texte de ces champs
$GLOBALS[$GLOBALS['idx_lang']] = array(
'texte_sur_titre' => '<B>Num&eacute;ro de t&eacute;l&eacute;phone</B>',
'info_nouvel_article' => 'Nouveau membre',
'texte_titre_obligatoire' => '<B>Nom (pas tout en majuscule!)</B>',
'texte_sous_titre' => '<B>Pr&eacute;nom</B>',
'entree_liens_sites' => '<B>Adresse email</B>',
'info_titre' => ' ',
'info_url' => '<B>URL site personnel</B>',
'texte_introductif_article' => ' ',
'icone_ecrire_article' => 'Cr&eacute;er un nouveau membre',
'icone_modifier_article' => 'Modifier ce membre'
);
}

// Espace privé : Publications du labo

if ($id_sect=='13') {
$GLOBALS['meta']["articles_surtitre"] = "non";
$GLOBALS['meta']["articles_titre"] = "oui";
$GLOBALS['meta']["articles_soustitre"] = "non";
$GLOBALS['meta']["articles_descriptif"] = "oui";
$GLOBALS['meta']["articles_chapeau"] = "non";
$GLOBALS['meta']["articles_ps"] = "non";
$GLOBALS['meta']["articles_redac"] = "oui";
$GLOBALS['meta']["articles_urlref"] = "oui";


$GLOBALS[$GLOBALS['idx_lang']] = array(
'info_nouvel_article' => 'Nouvelle Publication',
'texte_titre_obligatoire' => '<B>Titre de la publi</B>',
'texte_descriptif_rapide' => 'Liste d\'auteurs:',
'texte_contenu_article' => ' ',
'entree_liens_sites' => '<B>R&eacute;f&eacute;rence bibliographique</B> (Par ex: Phys. Rev. A, 68, 012712/1-8, (2003))',
'info_titre' => ' ',
'info_url' => '<B>Lien vers l\'article en ligne:</B>',
'info_texte' => 'Abstract de l\'article',
'icone_ecrire_article' => 'Cr&eacute;er une nouvelle publi',
'icone_modifier_article' => 'Modifier cette publi',

'titre_mots_cles' => 'Mots-cl&eacute;s<p><b>Attention! Pensez &agrave; rajouter les mots cl&eacute; Equipe, Ann&eacute;e de publication et revue &agrave; comit&eacute de lecture!</b></p>'
);
}
?>

Evolutions possibles

Tout cela est bien sur personnalisable pour une rubrique donnée plutôt qu’un secteur, pour les brèves, etc.

Je suis sûr que tout ça devrait pouvoir se mettre sous forme de plugin, mais je sèche un peu. J’ai déjà eu du mal à aller récupérer les différentes infos dans les fichiers de spip ... Pour le texte des champs, il faut fouiller dans /ecrire/lang/ecrire_fr.php et /ecrire/lang/prive_fr.php. J’ai découvert quels champs afficher dans /ecrire/inc_articles_edit.php

À faire :
-  Récupérer l’ensemble des variables qui permettent l’affichage dans l’espace privé.
-  Faire un plugin ?

Pour Spip 2.0

La philosophie de la contrib reste essentiellement la même.
Il y a juste quelques petites modifications à prendre en compte :

-  Tout d’abord, il faut mettre les fichiers local_fr.php et local_prive_fr.php dans le dossier squelettes/lang (à créer s’il n’existe pas). En effet la fonction chercher_module_lang ne recherche que dans les dossiers nommés lang/.

-  Ensuite pour récupérer les variables $id_rubrique et $id_article, il faut passer par un $_GET. Le début du fichier local_prive_fr.php devient :

<?php

$id_art = $_GET['id_article'];
$id_rub = $_GET['id_rubrique'];

if ($id_art == '')
{ $row = spip_fetch_array(spip_query("SELECT id_secteur FROM spip_rubriques WHERE id_rubrique=$id_rub"));
$id_sect  = $row['id_secteur'];
}

if ($id_rub == ''){
$row = spip_fetch_array(spip_query("SELECT id_secteur FROM spip_articles WHERE id_article=$id_art")); $id_sect  = $row['id_secteur'];
}

Noter qu’il n’y plus le include_spip(’base/db_mysql’) ;.

On peut ensuite faire les tests sur $id_rub et $id_art pour afficher les champs souhaités et/ou changer leur intitulé.

Notes

[1Nota SPIP-Contrib : pour la documentation officielle concernant la définition de fichiers de langue personnels (pour redéfinir les noms des champs), voir les articles concernant le multilinguisme et particulièrement Internationaliser les squelettes > Méthode des fichiers de langue

Cette contrib marche toujours aussi bien en SPIP 1.9.2g.
Ca marche aussi pour SPIP 2.0 ! (Voir ci-dessus)

Discussion

35 discussions

  • Bonsoir
    j’ai spip 1.9.2.d et je ne trouve pas le fichier lang_privé. Est-il nommé autrement ?
    d’avance merci

    Répondre à ce message

  • Ce serait vraiment bien qu’il y est un plugin. Ne connaissant pas le php j’ai un peu peur de faire des erreurs.
    Merci pour ta contrib en tous cas. Elle est très utile et complète.

    Répondre à ce message

  • 1
    Dominique W

    Merci pour cette contrib, elle fonctionne toujours en 192b.

    je l’ai adapté pour la personnalisation par mots clefs attachés aux rubriques.

    <?php
    // On commence par récupérer l'id article ou rubrique ou autre:
    include_spip('base/db_mysql');
    
    $id_art = $GLOBALS['id_article'];
    $id_rub = $GLOBALS['id_rubrique'];
    
    
    if (($id_art != '') and ($id_rub == '')) {
    	$row = spip_fetch_array(spip_query("SELECT id_rubrique FROM spip_articles WHERE id_article=$id_art"));
    	$id_rub  = $row['id_rubrique'];
    }
    // id du groupe de mots clefs dans lequel on veut les sélectionner
    $id_groupe_mot_cles = 2;
    
    if ($id_rub != '') {
    	$row = spip_fetch_array(spip_query("SELECT titre FROM spip_mots join spip_mots_rubriques on spip_mots.id_mot=spip_mots_rubriques.id_mot WHERE id_rubrique=$id_rub and id_groupe=$id_groupe_mot_cles"));
    	$titre  = $row['titre'];
    }
    
    // On peut maintenant personnaliser l'affichage de l'article à modifier
    // en fonction des mots clefs de la rubrique à laquelle il appartient
    
    if ($titre == 'actualites') {
    	// On choisit quels champs afficher:
    	$GLOBALS['meta']["articles_chapeau"] = 'oui';
    }
    ?>

    Il suffit de modifier la valeur de l’id du groupe de mots clés et ensuite de gérer comme dans les autres exemples ci-dessus la personnalisation.

    Remarque : il suffit en fait pour la personnalisation de ne redéfinir que ce qui doit être en plus ou en moins pas rapport aux réglages définis dans la configuration du site. Il n’est pas nécessaire de tout redéfinir. dans mon exemple, je veux juste le chapeau pour les articles des rubriques qui ont le mot clé « actualites ».

    • Renyon Paris

      Bonjour,

      Merci beaucoup pour ta contrib ! C’est exactement ce dont j’ai besoin. Mais j’ai testé chez moi et ça ne marche pas. Mes mot-clés sont composés et un comporte un accent.
      Peux-tu me dire si les accents, les majuscules, et mots composés d’un mot clés sont à écrire d’une façon spécifique dans le fichier local_prive_fr.php stp ?

      Merci d’avance pour ta réponse !

    Répondre à ce message

  • 3

    Je vins de passer à une SVN 1.9.3 et cette contrib ne semble plus marcher complètement. La personnalisation des textes est ok par contre, le choix des champs à afficher ou pas n’est plus active ?

    C’est donc dans ce bout de code que ça coince

    // Espace privé: Annuaire
    if ($id_sect=='21') {
    // On choisit quels champs afficher:
    $GLOBALS['meta']["articles_surtitre"] = "oui";

    Quelqu’un aurait une idée, pour rétablir la situation ?

    • En regardant les fichiers spip.log et mysql.log, je constate une foison de

      SELECT id_secteur FROM <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+YmFzZV9zcGlwPC9jb2RlPg=="></span>.spip_rubriques WHERE id_rubrique=
      
      1064 Erreur de syntaxe près de '' à la ligne 1
      
      SELECT id_secteur FROM <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+YmFzZV9zcGlwPC9jb2RlPg=="></span>.spip_articles WHERE id_article=
      
      1064 Erreur de syntaxe près de '' à la ligne 1

      Voilà, derrière cette erreur se cache à coup sûr mon problème. Si quelqu’un trouve avant moi, qu’il n’hésite pas à laisser un message ici.

    • Fausse piste, mais correction nécéssaire de cette contrib’ comme indiqué un peu plus bas dans le forum : http://www.spip-contrib.net/Personnaliser-les-champs-de-l#forum391158

      si on ne fait pas cette modif’, pour chaque page de l’espace privé ou public qui ne possède ni id_article, ni id_rubrique, spip fait une (ou plusieurs) requêtes inutiles et erronées (voir votre spip.log ou mysql.log pour vous en rendre compte).

      Bref, je ne sais toujours pas comment reconditionner l’affichage des champs :-(

    • Le conditionnement d’affichage des champs me manquait trop. Et comme je ne trouvais pas de solution au problème, j’ai bricolé une solution de dépannage, en attendant de savoir faire/prendre le temps d’un plugin pour gérer ça.

      Pour info, j’ai modifier le ecrire/inc/editer_article (et placer en surcharge dans le dossier squelettes) en passant $id_secteur à toutes les fonctions du genre editer_articles_surtitre (....) et dans ces fonctions je conditionne l’affichage dans le test :

      if (($config[’articles_surtitre_.$id_secteur] == ’non’) AND !$surtitre)

      il m’a ensuite fallu ajouter à la table spip_metas des enregistrements articles_surtitre_5 par exemple pour le secteur 5 avec une valeur à non.

      ça me dépanne en partie en attendant. Peut-être un jour je reviendrai sur quelque chose de plus propre.

    Répondre à ce message

  • petit ajout de code pour dire que l’on peut aussi avoir la modification des champs de spip a l’intérieur d’une rubrique et de ses sous-rubriques.

    il suffit d’avoir un truc comme ca :
    par exemple pour une rubrique de type annuaire, on aurait

    $rubriques_annuaire=array(95);
    
    
    
    if (!defined("_ECRIRE_INC_VERSION")) return;
    include_spip('base/db_mysql');
    
    function get_ss_rubriques($rubriques_parent){
    	if(is_array($rubriques_parent))
    	foreach ($rubriques_parent as $r) {
    		$tab_ss_rubriques[]=$r;
    
    		$temp=spip_mysql_array(spip_query("select id_rubrique from spip_rubriques where id_parent=".$r));
    		if($temp)
    			foreach ($temp as $t)
    			{
    				$tab_ss_rubriques[]=$t['id_rubrique'];
    				$tab_ss_rubriques=array_merge($tab_ss_rubriques,get_ss_rubriques(array($t['id_rubrique'])));
    			}
    	}
    
    return array_merge($rubriques_parent,$tab_ss_rubriques);
    }
    
    
    $rubriques_marches=array_unique(get_ss_rubriques($rubriques_marches));
    $rubriques_agenda=array_unique(get_ss_rubriques($rubriques_agenda));
    
    
    //récupération de l'id_rubrique sur l'édition de l'article
    if(!$id_rubrique)
    {	if($id_parent) $id_rubrique=$id_parent;
    	elseif($id_article){
    	$temp=spip_mysql_array(spip_query("select id_rubrique from spip_articles where id_article=".$id_article));
    	if($temp[0]['id_rubrique']) $id_rubrique=$temp[0]['id_rubrique'];}
    }
    
    
    
    //et ici on fait vraiment le test de l'id_rubrique:
    if(in_array($id_rubrique,$rubriques_annuaire){
    
    
    //la modif des textes et noms de champs 
    
    }

    Répondre à ce message

  • Bonjour,
    J’ai quelques soucis , il faut dans mon CMS que pour une rubrique(ici recette) que les articles contenu dans cette rubrique possede des champs pré-rempli du genre : Entrée / Plat / Dessert : permettant au rédacteur de tapé simplement le menu sans besoin de retapé Entrée / Plat / Dessert à chaque rédaction de nouvel article. Je pense que cette contrib est la solution mais je comprend pas tout vus que je débute en spip.
    Les deux fichiers doivent se mettre dans le répertoire squelettes ou /ecrire/lang ou /squelettes/lang ??
    Et comment moditons ces deux fichiers ? ma rubrique recette est 34 et l’article 103, je dois mettre les champs :
    ->Entrée :
    ->Plat :
    ->Dessert :
    ->Intitulée :
    ->Ingrédients :
    ->Explication :
    ->Commentaires :

    ça fé plusieurs semaines que je galere à trouver la solution si vous pouviez m’aider , merci d’avance.

    Répondre à ce message

  • Tropicaloo

    Bonjour,

    Voici un retour sur le fonctionnement que j’ai sur 1.9.2a [8878] avec des secteurs ET des rubriques :

    Secteurs (rubriques racines) :
    -  page 1 édition de l’article (surtitre-titre-soustitre-descriptif-etc...) > OK
    -  page 2 édition de l’article (dates-auteurs-mots-clé) > OK
    -  page édition du secteur (rubrique racine) > OK

    Rubriques (sous-rubriques) :
    -  page 1 édition de l’article (surtitre-titre-soustitre-descriptif-etc...) > OK
    -  page 2 édition de l’article (dates-auteurs-mots-clé) > KO
    -  page édition de la rubrique (sous-rubrique) > OK

    Pour la page d’édition 2 d’un article appartenant à une rubrique (sous-rubrique), c’est le contexte du secteur qui s’affiche en lieu et place de celui de la rubrique. La variable « secteur » est récupérée mais pas celle de la « rubrique ».

    Si quelqu’un a une proposition sur ce point, je suis preneur !

    Répondre à ce message

  • 3
    Tropicaloo

    Bonjour,

    Sur 1.9.2a [8878]
    En faisant un simple copier-coller du local_prive_fr.php (en modifiant bien sur les numéros des id des rubriques), j’ai un message d’erreur :

    Parse error : parse error in c :\program files\easyphp1-8\www\monsite\squelettes\local_prive_fr.php on line 5

    Quelqu’un a-t-il une idée ?

    • idem
      idem (le deuxieme idem c pour le nombre limite de 10 caractères.... ;)
      mais sinon pareil !

    • Mea culpa !

      Il n’y a pas d’espace entre <? et php à la première ligne de local_prive_fr.php... C’est maintenant corrigé.

    • Tropicaloo

      Merci Sébastien

      Effectivement cela marche beaucoup mieux maintenant. Comme toi, je suis passé X fois devant cet espace sans le voir...
      Merci encore

    Répondre à ce message

  • 5

    Bonjour
    Bravo pour ces lignes de codes qui me sont bien ytiles.
    Cependant je bloque un peu car dans certains cas, avec les sous rubriques, je me retrouve bloqué car le fonctionnement des sous rubriques n’est pas forcément identique pour tout un secteur.
    Sauriez vous comment je pourrais faire la même chose mais en renseignant les URL des rubriques plutôt que les secteurs.
    Je souhaiterais en fait faire comme le système de squelette cad que si on a un fichier de langue renseigné pour la rubrique mère et pas pour les sous rub = même fichier langue pour tout. Sinon le fichier de chaque rubrique et sous rub passe en premier / celui de la rubrique mère.

    Je serais très reconnaissant si quelques bonnes âmes pouvaient m’aider ...
    Merci

    • Bonjour,

      Il suffit en fait après la definition du secteur de faire un test sur $id_rubrique :

      if ($id_sect=='21'){
      //definition des champs pour le secteur 21
      }
      
      if ($id_rub=='210'){
      //definition des champs pour la rubrique 210 appartenant au secteur 21
      }

      et de redéfinir les champs pour cette rubrique.

      En principe ça devrait marcher.

    • Merci de ta réponse, mais j’ai beau essayer, Je n’y arrive pas de la sorte !!
      J’ai essayé de faire quelque chose en fonction des id-parent mais je ne m’en sort pas non plus.
      La seule chose que j’ai réussi mais ça ne m’arrange pas du tout c’est de personnaliser en fonction de l’article en faisant :

      if ($id_sect==’21’ AND $id_art==’210’)
      // les variables

      Mais pas moyen pour les rubriques !!!! Je m’y recolle et vous tiens au courant ! mais quelle galère et j’ai si peu de temps devant moi ...

    • Bon je pense avoir trouvé une solution du moindre mal. Pas la solution idéal qui permettrait comme je le disais au début de faire ça en fonction des rubriques mères ou sous rub. Enfin !! quoi qu’à force d’essayer plein de trucs , ça se trouve ça fonctionnerais mais je crois pas. Donc ma solution pour le faire en fonction des rubriques et ne pas avoir à le faire pour CHAQUE rub :

      // On commence par récupérer l'id article ou rubrique ou autre:
      
      include_spip('base/db_mysql');
      
      $id_art = $GLOBALS['id_article'];
      $id_rub = $GLOBALS['id_rubrique'];
      
      // On détermine ensuite à quel secteur appartient le rubrique ou l'article:
      
      if ($id_art == ''){
      $row = spip_fetch_array(spip_query("SELECT id_parent FROM spip_rubriques WHERE id_rubrique=$id_rub"));
      $id_sect  = $row['id_parent'];
      }
      if ($id_rub == ''){
      $row = spip_fetch_array(spip_query("SELECT id_rubrique FROM spip_articles WHERE id_article=$id_art"));
      $id_sect  = $row['id_rubrique'];
      }
      
      // On peut maintenant personnaliser l'affichage 
      //de l'article à modifier
      // en fonction de la rubrique à laquelle il appartient:
      
      // Plusieurs rubriques avec champs similaires 
      
      if ($id_sect=='61' || $id_sect=='62' || $id_sect=='64' || $id_sect=='65') {
      // On choisit quels champs afficher:
      $GLOBALS['meta']["articles_surtitre"] = "oui";
      $GLOBALS['meta']["articles_titre"] = "oui";
      $GLOBALS['meta']["articles_soustitre"] = "non";
      $GLOBALS['meta']["articles_descriptif"] = "oui";
      $GLOBALS['meta']["articles_chapeau"] = "non";
      $GLOBALS['meta']["articles_ps"] = "non";
      $GLOBALS['meta']["articles_redac"] = "oui";
      $GLOBALS['meta']["articles_urlref"] = "oui";
      
      // ... et le texte de ces champs
      $GLOBALS[$GLOBALS['idx_lang']] = array(
      'texte_sur_titre' => '<B>66666666 Titre de la page</B> (dans la barre bleue du navigateur - facultatif)',
      'info_nouvel_article' => 'Titre',
      'texte_titre_obligatoire' => '<B>Titre de l\'article</B> (obligatoire)',
      'texte_descriptif_rapide' => 'Email et/ou Site Web du prestataire',
      'texte_sous_titre' => '<B>Pr&eacute;nom</B>',
      'entree_liens_sites' => '<B>Nom du site</B> (facultatif)',
      'info_titre' => ' ',
      'info_url' => '<B>Lien vers le site du Parc (adresse)</B>',
      'texte_introductif_article' => 'Description de l\'article',
      
      ); }
    • Sébastien Zamith

      Bonjour,

      Je ne comprends pas trop le pb.

      J’ai fait chez moi le test suivant :

      -  Rubrique à la racine : Test (id_rubrique = 280)

      Sous-rubrique : Test1 (id_rubrique=281)

      Sous-rubrique : Test2 (id_rubrique=282)

      Sous-rubrique de Test1 : Test11 (id_rubrique=283)

      Ensuite j’ai mis les conditions suivantes :

      // Espace privé test
      
      if ($id_sect=='280') {
      $GLOBALS['meta']["articles_surtitre"] = "non";
      
      $GLOBALS[$GLOBALS['idx_lang']] = array(
      
      'info_nouvel_article' => 'Test sur secteur',
      'icone_modifier_article' => 'Modifier ce test sur secteur',
      'icone_ecrire_article' => 'Cr&eacute;er un nouveau test sur secteur'
      
      );
      }
      
      if ($id_rub=='281') {
      $GLOBALS['meta']["articles_surtitre"] = "non";
      
      $GLOBALS[$GLOBALS['idx_lang']] = array(
      
      'info_nouvel_article' => 'Test sur rub',
      'icone_modifier_article' => 'Modifier ce test sur rub',
      'icone_ecrire_article' => 'Cr&eacute;er un nouveau test sur rub'
      );
      }

      Avec ça, lorsque je vais dans la rubrique Test1, j’ai bien le texte « test sur rub » qui apparait pour les articles, tandis que sous n’importe quelle autre sous rubrique de Test (y compris dans Test11), j’ai bien le texte « test sur secteur » qui apparait pour les articles.

      Bien sûr il faut tester l’id_rubrique après l’id_secteur si on désire personnaliser seulement une rubrique d’un secteur donné.

      Sébastien

    • J’ai retenté de la sorte et ça ne fonctionne pas chez moi !!! Je ne sais pas du tout comment ça se fait !! c’est très étrange ...
      En tous cas merci de t’être penché sur mon cas ;)

      Je vais faire comme je l’ai écris plus haut et je retesterais plus tard sur un autre site.

    Répondre à ce message

  • bonjour !

    J’ai une suggestion, mais je ne sais pas ou le poster !! excusez moi donc si je ne suis pas à la bonne page ! Je viens du monde Drupal et j’aimerais faire profiter mon experience en tant que developpeur web confirmé.

    Ma proposition concerne l’espace privé de SPIP. Est ce qu’il ne serait pas préférable de deplacer une partie du repertoire « ecrire » pour en faire un plugin ?

    Avantages :
    - plus de lisibilité du fonctionnement de SPIP
    - plus de modularité (le systeme de plugin est une très bonne chose. merci !)
    - le developpement de chaque partie devient independant : la partie edition
    peut evoluer de maniere different que la partie statistiques par exemple

    Vos points de vue la dessus seraient la bienvenue !

    Tous pour que SPIP devienne toujours plus fort !!!!

    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