Salut

function exemple_formulaire_fond($fond) {
        if (
                $fond['args']['form'] == 'editer_article'
                and $id_parent = $fond['args']['contexte']['id_parent']; // ça 
ne va
pas il ne faut pas de ';' ici
                and $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques',
'id_rubrique=' . intval <http://www.php.net/intval>($id_parent)
                and $id_secteur === 7
        ) {
                $fond['data'] = str_replace
<http://www.php.net/str_replace>(_T('info_sous_titre'),
_T('exemple:label_exemple'), $fond['data']);
        }
        return $fond;}



Je ne comprend pas le $id_parent =
$fond['args']['contexte']['id_parent'] ?? il doit y avoir une
subtilité...
Pour le reste je dirai qu'on veut uniquement remplacer le texte pour
la rubrique racine du secteur 7

Sinon pour la page blanche,  en dev ça ne devrait pas être une page
blanche mais un message d'erreur php qui s'affiche
tu **dois** au minimum afficher les erreurs fatales php pour savoir ou
ça pète dans ton code :). Il y a 10 000 tutos pour ça sur spip ou
ailleurs.

Cordialement


Le lun. 30 sept. 2019 à 21:16, Naema <junkofze...@gmail.com> a écrit :

> Bonjour,
> Typiquement cet exemple devrait répondre parfaitement à mon besoin de
> changer l'intitulé d'un label de champs dans le formulaire d'édition d'un
> article en fonction d'un secteur ou d'une rubrique donnée (cf.
> https://programmer.spip.net/formulaire_fond):
>
> function exemple_formulaire_fond($fond) {
>       if (
>               $fond['args']['form'] == 'editer_article'
>               and $id_parent = $fond['args']['contexte']['id_parent'];
>               and $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 
> 'id_rubrique=' . intval <http://www.php.net/intval>($id_parent)
>               and $id_secteur === 7
>       ) {
>               $fond['data'] = str_replace 
> <http://www.php.net/str_replace>(_T('info_sous_titre'), 
> _T('exemple:label_exemple'), $fond['data']);
>       }
>       return $fond;}
>
> Le problème c'est que cela me donne une magnifique page blanche, si je copie 
> ce code dans mes_options..
>
> Mes remerciements tout d'abord à JLuc qui a proposé cet article sur 
> Programmer.spip , mais.... Quelqu'un pourrait-il corriger, car je n'y arrive 
> pas.
> Je pense qu'il faudrait s'inspirer de ceci (une fonction perso qui recherche 
> un squelette d'article particulier en fonction de la rubrique en question), 
> qui fonctionne :
> function chrisword_styliser($flux){
>       // si article ou rubrique
>       if (($fond = $flux['args']['fond'])
>       AND in_array($fond, array('article','rubrique'))) {
>
>               $ext = $flux['args']['ext'];
>               // [...]
>               if ($id_article = $flux['args']['id_article']) {
>                       // calcul de la rubrique
>                       $r = sql_getfetsel('id_rubrique', 'spip_articles', 
> 'id_article=' . intval($id_article));
>                       // comparaison de la rubrique avec Chris's Words of 
> Wisdom
>                       if (intval($r['id_rubrique']) == 2514){
>                               // si un squelette $fond_chriswords existe
>                               if ($squelette = 
> test_squelette_chrisword($fond, $ext)) {
>                                       $flux['data'] = $squelette;
>                               }
>                       }
>               }
>       }
>       return $flux;
> }
>
> Merci d'avance pour vos lumières (les miennes sont faiblârdes actuellement, 
> après plusieurs mois sans avoir touché au code SPIP j'ai tout perdu....)
>
> _______________________________________________
> liste spip
> spip@rezo.net - désabonnement : envoyer un mail à  spip-...@rezo.net
>
> Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html
>
> Infos : https://listes.rezo.net/mailman/listinfo/spip
>
> Documentation de SPIP : http://www.spip.net/
>
> Irc : de l'aide à toute heure : http://spip.net/irc
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à  spip-...@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Répondre à