< návrat zpět

Diskuse


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

Zaslal/a 21.7.2013 15:22

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.

Zaslat odpověď >

#017962
V dokumentaci je: Pomocí této události lze nahradit cestu k souboru template.php.
#017963
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
#017964
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',
));
#017966
Díky moc.. a ještě víc za oba způsoby.