Diskuse

Téma: nahrazení šablony stránky - extend

zdravím, neporadil by někdo, jak to v nové verzi systému bude s možností mít pro určitou stránku vlastní šablonu? Používal jsem kód od Jvala:

<?php

/* ---- kontrola jadra ---- */
if(!defined('_core')) die;

/* event stránky */

function _plugin_sablona($args) {
$template = _indexroot . "plugins/templates/" . _template . "/" . (isset($args['arg']) ? $args['arg'] : 'template') . ".php";
if (file_exists($template)) {
$GLOBALS['__template_overload'] = $template;
}
}

/* registrace extendu */
_extend('reg', 'page.event.sablona', '_plugin_sablona');

jenže v systému již není "_templateFileOverload" a místo něj přibyla událost "index.template", z dokumentace ale moc nechápu co je jejím argumentem, jestli celá cesta k souboru, nebo jen název... a ještě víc nevím, jak udělat událost která spustí událost...

Třeba se ptám blbě, ale je mi jasné, že pro toho, kdo zná je řešení zajisté triviální... tak děkuji za pomoc.
postZaslat odpověď
V dokumentaci je: Pomocí této události lze nahradit cestu k souboru template.php.
ok, mne zmátlo v seznamu změn - "index.template - změna souboru šablony webu"
tak teď ještě tedy kdyby někdo poradil s druhou částí, která mi moc metodou pokus/omyl zatím nešla
V další revizi (za pár dní) to půjde jednoduše takto:
/* event stránky */
function _plugin_sablona($eventArgs, $templateArgs)
{
$template = _indexroot . "plugins/templates/" . _template . "/" . (isset($eventArgs['arg']) ? $eventArgs['arg'] : 'template') . ".php";
if (file_exists($template)) {
$templateArgs['output'] = $template;
}
}

/* registrace extendu */
_extend('reg', array('page.event.sablona', 'index.template'), '_plugin_sablona');

V současné verzi víc ukecaně:
function _plugin_sablona($args)
{
global $_plugin_sablona;
$_plugin_sablona = _indexroot . "plugins/templates/" . _template . "/" . (isset($args['arg']) ? $args['arg'] : 'template') . ".php";

}

function _plugin_sablona_aplikace($args)
{
global $_plugin_sablona;
if (file_exists($_plugin_sablona)) {
$args['output'] = $_plugin_sablona;
}
}

_extend('regm', array(
'page.event.sablona' => '_plugin_sablona',
'index.template' => '_plugin_sablona_aplikace',
));
Díky moc.. a ještě víc za oba způsoby.