Merci,
j'avais aussi repéré ce point-virgule inhabituel, ôté ça n'a rien changé;
de même que les trois signes "égal" (habituellement, c'est un ou deux
signes d'après ce que j'ai compris) mais ça n'a rien changé non plus. Étant
sur un autre souci mineur ce soir, je vous dit demain ce que le détecteur
de problèmes SPIP (erreurs PHP) aura vu.
On tient le bon bout, si je puis dire -- et ce code va me rendre d'immenses
services.

Merci.


Le lun. 30 sept. 2019 à 23:38, pierre laszczak <pierre.laszc...@gmail.com>
a écrit :

> ah si, je suis fatigué :)
>
> $id_parent = $fond['args']['contexte']['id_parent']
>
> test la présence et assigne la valeur
> $fond['args']['contexte']['id_parent']
>
> Dans le code c'est le point virgule qui n'a pas lieu d'être (Voire
> commentaire).
> Pour le reste, ça devrait rouler :D
>
> Le lun. 30 sept. 2019 à 23:28, pierre laszczak <pierre.laszc...@gmail.com>
> a écrit :
>
>> 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 à