113 lines
3.9 KiB
Smarty
113 lines
3.9 KiB
Smarty
import(common.tpl)
|
|
|
|
@categories = [data-v-categories] [data-v-cats]
|
|
@menu = [data-v-categories] [data-v-cats] [data-v-taxonomy_item]
|
|
@language = [data-v-languages] [data-v-language]
|
|
|
|
@categories|deleteAllButFirstChild
|
|
@menu|deleteAllButFirstChild
|
|
|
|
|
|
[data-v-taxonomy_id] = <?php echo (int)($this->menu_data['menu_id'] ?? false);?>
|
|
[data-v-name] = <?php echo htmlspecialchars($this->menu_data['name'] ?? '');?>
|
|
[data-v-slug] = <?php echo htmlspecialchars($this->menu_data['slug'] ?? '');?>
|
|
|
|
|
|
@categories|before = <?php
|
|
$_categories = $this->categories ?? [];
|
|
if ($_categories) {
|
|
$generate_menu = function ($parent) use (&$_categories, &$generate_menu) {
|
|
|
|
$hasChildren = false;
|
|
foreach($_categories as $id => $menu) {
|
|
if ($menu['parent_id'] == $parent) {
|
|
$hasChildren = true;
|
|
break;
|
|
}
|
|
}
|
|
if (!$hasChildren) return;
|
|
?>
|
|
|
|
@menu|data-v-id = $menu['menu_item_id']
|
|
@menu input[data-v-menu-*] = $menu['@@__data-v-menu-(*)__@@']
|
|
@menu input[data-v-menu-item_id]|data-text = <?php
|
|
$type = '@@__data-type__@@';
|
|
if ($menu['type'] == $type) {
|
|
$langtext = reset($menu['languages']);
|
|
echo htmlspecialchars($langtext['name'] ?? '');
|
|
} else echo ' ';
|
|
?>
|
|
|
|
@menu select[data-v-menu-*]|before = <?php $name = '@@__data-v-menu-(*)__@@';?>
|
|
|
|
@menu select[data-v-menu-*] option|addNewAttribute = <?php
|
|
$value = '@@__value__@@';
|
|
if (isset($menu[$name]) && ($value == $menu[$name])) {
|
|
echo 'selected';
|
|
}
|
|
?>
|
|
|
|
@menu|before = <?php
|
|
|
|
foreach($_categories as $id => $menu) {
|
|
$uniq = Vvveb\System\Functions\Str::random(5);
|
|
if ($menu['parent_id'] == $parent) {?>
|
|
|
|
//catch all data attributes
|
|
@menu [data-v-taxonomy_item-*] = $menu['@@__data-v-taxonomy_item-(*)__@@']
|
|
@menu [data-v-taxonomy_item_id] = $menu['menu_item_id']
|
|
|
|
|
|
@menu [data-v-taxonomy_item-url]|href = <?php echo htmlspecialchars(Vvveb\url('post/menu/index', $menu));?>
|
|
@menu [data-v-taxonomy_item-img]|src = $menu['images'][0]
|
|
|
|
@menu|append = <?php
|
|
$generate_menu($menu['menu_item_id'], $_categories);
|
|
}?>
|
|
|
|
@menu|after =
|
|
<?php } ?>
|
|
|
|
@categories|after = <?php
|
|
};
|
|
reset($_categories);
|
|
$generate_menu($_categories[key($_categories)]['parent_id'], $_categories); }
|
|
$uniq = Vvveb\System\Functions\Str::random(5);
|
|
?>
|
|
|
|
|
|
/* language tabs */
|
|
[data-v-languages]|before = <?php $_lang_instance = '@@__data-v-languages__@@';$_i = 0;?>
|
|
@language|deleteAllButFirstChild
|
|
//@language|addClass = <?php if ($_i == 0) echo 'active';?>
|
|
|
|
@language|before = <?php
|
|
//$menu['languages']
|
|
$languages = $this->languagesList;
|
|
foreach ($languages as $key => $language) {
|
|
$language_id = $language['language_id'];
|
|
$code = $language['code'];
|
|
?>
|
|
|
|
[data-v-languages] [data-v-language-id]|id = <?php echo 'lang-' . $language_id . '-' . $_lang_instance . '-' . $uniq;?>
|
|
[data-v-languages] [data-v-language-id]|addClass = <?php if ($_i == 0) echo 'show active';?>
|
|
[data-v-languages] input[data-v-language_id]|value = <?php echo $language_id;?>
|
|
[data-v-languages] input[data-v-language_id]|name = <?php echo "menu_item_content[$language_id][language_id]";?>
|
|
|
|
@language [data-v-language-lang-name]|innerText = <?php echo ucfirst(htmlspecialchars($language['name']));?>
|
|
@language [data-v-language-*]|innerText = $menu['languages'][$language_id]['@@__data-v-language-(*)__@@']
|
|
@language [data-v-language-*]|name = <?php echo "menu_item_content[$language_id][@@__data-v-language-(*)__@@]";?>
|
|
@language input[data-v-language-*]|value = $menu['languages'][$language_id]['@@__data-v-language-(*)__@@']
|
|
|
|
@language [data-v-language-img]|title = $language['name']
|
|
@language [data-v-language-img]|src = <?php echo 'language/' . $language_id . '/' . $language_id . '.png';?>
|
|
@language [data-v-language-link]|href = <?php echo '#lang-' . $language_id . '-' . $_lang_instance . '-' . $uniq;?>
|
|
@language [data-v-language-link]|addClass = <?php if ($_i == 0) echo 'active';?>
|
|
|
|
@language|after = <?php
|
|
$_i++;
|
|
}
|
|
?>
|
|
|
|
|
|
import(content/sites.tpl) |