[spip-dev] ou sont calculees les balises NOM_SITE et URL_SITE de la boucle FORUMS ?

Bonjour,

Voulant me lancer dans la surcharge du calcul de balises grâce au nouveau compilo, je voulais modifier la balise NOM_SITE dans une boucle FORUMS, mais je ne trouve pas son calcul dans les sources php.

Peut-on surcharger la fonction balise_NOM_SITE_dist par balise_NOM_SITE si la fonction balise_NOM_SITE_dist ne se trouve pas dans le code?

J'ai besoin d'un peu d'aide pour comprendre. Merci d'avance.

Cordialement

Yves Grenier

la réponse est oui: en fait, le cas général identifie une balise SPIP a un champ SQL dans la table de la boucle courante
(ou supérieures). Il n'y a besoin de définir une fonction que si l'on veut surcharger un champ, ou introduire un nom de
balise qui n'est pas du tout un champ SQL.

      Emmanuel

Yves Grenier wrote:

Bonjour,

Voulant me lancer dans la surcharge du calcul de balises grâce au nouveau compilo, je voulais modifier la balise NOM_SITE dans une boucle FORUMS, mais je ne trouve pas son calcul dans les sources php.

Peut-on surcharger la fonction balise_NOM_SITE_dist par balise_NOM_SITE si la fonction balise_NOM_SITE_dist ne se trouve pas dans le code?

J'ai besoin d'un peu d'aide pour comprendre. Merci d'avance.

Cordialement

Yves Grenier

Après avoir posté ce message, je me suis dit "aide-toi toi-même", et j'ai esayé de comprendre la fonction calculer_champ dans inc-compilo-index.php3.

Si je comprends bien le champ #TOTO est calculé avec la première des possibilités suivantes qui est satisfaite:
- la fonction balise_TOTO existe: on l'utilise,
- la fonction balise_TOTO_dist existe: on l'utilise,
- la balise a un nom qui commence par LOGO_: on fait un traitement spécial,
- la balise a le même nom qu'un champ qui existe dans la table: on la calcule à partir de ce champ,
- sinon on renvoie le nom tel quel sans autre traitement.

Je comprends donc comment la balise NOM_SITE d'un forum est calculée. Il me semble que je peux effectivement la surcharger même si la fonction balise_NOM_SITE_dist n'existe pas. Est-ce que je me trompe?

Yves Grenier

Déesse A. wrote:

Bonjour,

Voulant me lancer dans la surcharge du calcul de balises grâce au nouveau compilo, je voulais modifier la balise NOM_SITE dans une boucle FORUMS, mais je ne trouve pas son calcul dans les sources php.

Peut-on surcharger la fonction balise_NOM_SITE_dist par balise_NOM_SITE si la fonction balise_NOM_SITE_dist ne se trouve pas dans le code?

la réponse est oui: en fait, le cas général identifie une balise SPIP a un champ SQL dans la table de la boucle courante
(ou supérieures). Il n'y a besoin de définir une fonction que si l'on veut surcharger un champ, ou introduire un nom de
balise qui n'est pas du tout un champ SQL.

            Emmanuel

Désolé, Emmanuel, j'avais reposté une suite pendant que tu répondais. Ta réponse s'applique donc aussi à la question (que je reformulais, c'est la même) dans mon autre post.

Mais je rebondis sur ta réponse, pour savoir si il m'est possible dans ce cas de faire quelque chose (dans mes_fonctions.php3) qui serait:

function balise_NOM_SITE ($p) {
  $p0 = calculer_champ($p);
  // et ici je triture $po->code
  return $p0;
}

C'est peut-être un question un peu théorique, car si je veux utiliser le code retourné, cela suppose que je le connaisse, et je peux sans-doute le recopier dans mon code sans faire appel à la fonction calculer_champ.

Cordialement

Yves

non, ça va boucler

      Emmanuel