Generieke bakens

Een ander slim SPIP-mechanisme is het verstrekken van bakens die als generiek kunnen worden aangeduid. In feite is het mogelijk om de declaratie van één enkel baken te gebruiken voor een hele groep bakens die voorafgegaan worden door een identieke naam.

Zo kan een baken genaamd #PREFIX_NAAM een bestand gebruiken dat balise/prefix_.php heet en een functie balise_PREFIX__dist() declareren die zal worden gebruikt als geen functie balise_PREFIX_NAAM_dist($p) aanwezig is.

De generieke functie, die attributen in variabele $p ontvangt, kan $p->name_field gebruiken om de naam van het gewenste baken (in dit geval "PREFIX_NAAM") te ontvangen. Door deze naam te analyseren kan het dan de bijbehorende acties uitvoeren.

Voorbeeld

Dit voorbeeld wordt gebruikt door het generieke baken #FORM_NAAM. Dit zijn ook dynamische velden (in bestand ecrire/balise/formulaire_.php).

function balise_FORM__dist($p) {
	preg_match(",^FORM_(.*)?$,", $p->name_field, $regs);
	$form = $regs[1];
	return calculer_balise_dynamique($p,"FORM_$form",array());
}

Auteur hanjo Gepubliceerd op:

Vertalingen: English, français, Nederlands