Zpět na úvodní stránku

Vkládání php kódu

O vkládání html kódu není nutné cokoli psát, to podstatné je uvedeno přímo v dané sekci administrace. Jen pro zopakování: pořadí prvků určovat raději s většími rozestupy (5. 10. 15. ...), snadno se pak mezi ně zařadí jiná šablona. Deaktivace šablony proběhne tak, že jí určíš pořadí vyšší než 1000. Pak nebude zařazena do zpracování, ale v databázi zůstane.
A to nejdůležitější: prvek vnořený do jiného prvku musí mít vyšší pořadové číslo než ten, ve kterém je umístěn. Důvod je vysvětlen u formuláře pro novou šablonu v administraci.

A nyní k PHP...

Od verze systému RC5 je zpracování PHP šablon inteligentní a není třeba váš kód nikterak upravovat, až na jednu věc: v šabloně nesmí být <?php a ?> zobáčky. Ty jediné je nutné z vašeho scriptu odstranit.

Doporučený postup

Chci-li já použít nějakou PHP šablonu, pak to udělám následovně: vytvořím si třeba normální php soubor _moje_sablona.php - i to podtržítko na začátku je důležité, protože ve výpisu souborů bude tento soubor vždy první :) No a do tohoto souboru si vložím regulérní php kód (samozřejmě i se zobáčky). A jako PHP šablonu v administraci uložím už pouze jeden řádek kódu: require '_moje_sablona.php';.

Výhoda je zřejmá: textové pole v administraci není právě ideální nástroj pro editaci PHP kódu, a takto mohu kód v externím souboru snadno editovat v oblíbeném editoru.

Tyto kódy se také zpracovávají v souboru index.php, při zapisování relativních cest je na to třeba myslet. Vůbec nezáleží, že do databáze kód ukládáte v administraci (tedy ve složce /admin/).

Pluginový nástroj

Toto rozhraní lze také využít pro jistou verzi pluginovatelnosti. Někdo napíše nějaký php kód, zveřejní jej u sebe na webu a nabídne ke stažení a používání. Beztak to budu sám dělat :) Jenže... co když někdo zveřejní kód, který bych do lidské řeči přeložil takto: udělej toto, udělej tamto, udělej todlecto, odmejluj přístupové údaje k databázi na můj mejl, udělej toto, udělej tamto.... Neprogramátor toto nebezpečí nerozezná... ale to už je holt riziko této experimentální fce.