< návrat zpět

Diskuse


Téma: Dropdown menu - Sun 8.0 GIT rss

Zaslal/a 11.12.2020 9:50

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 4 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

Zaslat odpověď >

#022328
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
#022329
Zial ma to posle do kytek 7

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 ?
#022330
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;
#022331
Zial na tom webe nemam 7 povoleny.
#022440
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.