Diskuse

Téma: Dropdown menu - Sun 8.0 GIT

Ahojte, preluskal som forum ohladom Rozcestnikov - Separator, ale v novej verzii nevidim opciu na rozbalit v menu.

Teda v kode "Separator" nevidim vobec, zeby mali nejaky naznak existencie na verejnom webe 😕 a tak to asi tazko viem "chytit" a pridat mu prislusnu class.

Chcel by som pridat upravu do template na dropdown s boostrap 4, ale tu som sa nejako na tom zasekol.

Ma niekto napad, ze co robim asi zle?

V plugin json temlate pridat nejake povolenie ?


vopred dakujem za obzrejmenie
postZaslat odpověď
V nové verzi se změnil způsob zanořování stránek a vzhledem k tomu, že se dá zanořovat cokoliv pod cokoliv nejen pod Skupinu (dříve rozcestník), tak to bylo zřejmě odebráno. Asi by šlo získat subpoložky přes Template::treeMenu(). Podívej se na HCM menu_subtree
Zial ma to posle do kytek 😞
Something went wrong
We are sorry, but an unexpected error has occurred while processing your request.

Skusal som takyto zapis:
<?php echo Template::treeMenu(2,16) ?>
Samotny modul tam v system/hcm/menu_subtree.php je v takomto tvare:

<?php

use Sunlight\Hcm;
use Sunlight\Template;

defined('_root') or exit;

return function ($id_stranky = null, $od = null, $do = null, $max_hloubka = null, $class = null) {
Hcm::normalizeArgument($id_stranky, 'int');
Hcm::normalizeArgument($od, 'int');
Hcm::normalizeArgument($do, 'int');
Hcm::normalizeArgument($max_hloubka, 'int');
Hcm::normalizeArgument($class, 'string');

return Template::treeMenu(array(
'page_id' => $id_stranky,
'max_depth' => $max_hloubka,
'ord_start' => $od,
'ord_end' => $do,
'css_class' => $class,
));
};

menu_tree.php

<?php

use Sunlight\Hcm;
use Sunlight\Template;

defined('_root') or exit;

return function ($od = null, $do = null, $max_hloubka = null, $class = null) {
Hcm::normalizeArgument($od, 'int');
Hcm::normalizeArgument($do, 'int');
Hcm::normalizeArgument($max_hloubka, 'int');
Hcm::normalizeArgument($class, 'string');

return Template::treeMenu(array(
'max_depth' => $max_hloubka,
'ord_start' => $od,
'ord_end' => $do,
'css_class' => $class,
));
};

Nemoze to but tym, ze je tam konflikt v tomto: "Template::treeMenu" alebo je to len mojim zlym zapisom dopytu v template.php ?
Máš zapnutý debug režim? Pak by ti to mělo říci co je zle. Ale typuju to na chybějící import.use Sunlight\Template;
Zial na tom webe nemam 😞 povoleny.
Tak aktuálně jsem to řešil taky a chybu to vyhazuje, protože to chce alespoň jeden parametr.
V podstatě tak stačí zapsat i jen

<?= Template::treeMenu(['page_id' => null]); ?>
nebo

<?= Template::treeMenu(['children_only' => false]); ?>
Pokud chce člověk vypsat kompletní menu včetně všech subpoložek, což byl můj případ.