Идет процесс правильной реализации.поменять 2 на любое другое значение, то возвращается в исходное положение весь сайт. В чем проблема?
Ок, ждем :)Идет процесс правильной реализации.
Создаем поле template type text и class type text, в таблице menu
Добавляем элемент массива который уже содержит все данные меню (все записи в таблице меню)-
$menu['template'] и содержащим значения (имя шаблона) поля template, и отправляем в рендеринг меню
$this->renderMenu($this->menus[$menu_name], $active_ids, $css_class, $max_items, $menu['template']);
if($template){ $tpl_file = $this->getTemplateFileName('assets/ui/'.$template); }else{ $tpl_file = $this->getTemplateFileName('assets/ui/menu'); } include($tpl_file); }
Если указано значение поля templates (пример имя файла user_menu) то и рендерим это меню с шаблоном user_menu.tpl.php
Таким образом можно и для класса создать поле class и
обратиться к рендерингу со своим шаблоном и классом заменив поумолчанию $css_class='menu' на $menu['class'],
$this->renderMenu($this->menus[$menu_name], $active_ids, $menu['class'], $max_items, $menu['template']);
1-Своя реализация шаблона меню и возможность манипулирования элементами меню в зависимости не только от штатных прав, но и плюс прав и условий реализуемых разработчиком сторонних компонентов системы но не созданные жестко типами контента, а реализуемые как
отдельный компонент, возможно управляющий типами контента
2- Простая пользовательская реализация представления, не нарушающая строение и правила системы!
3- Развязанные руки .
Что проигрываем?
Два поля в таблице меню, и три строчки кода!.
Я уважаю ВАС R2.Я же не ради спора, а для консультации. Править системные файлы плохо, по понятным причинам. Поэтому я и подсказываю как можно обойтись без них.
Вот к чему может привести отсутствие оснований не доверять ВАМ!
Вчерашняя ночь — утро!
---------------------------------------------------------------------------------------------------------------------------------------
Безумно возмущенная ночь, тихо и медленно сворачивала свое черное покрывало.
Хотелось упереться руками в накатывающий рассвет и удержать на парочку минут внезапно накатившийся сон.
Среди плывущих в утреннем тумане обрывков PHP кода, мутный разум просыпаясь пытался лихорадочно уцепиться за осмысленное решение.
Нет не это… сейчас, сейчас вспомню… указать класс в виджете, кажется так?
Класс… использовать как селектор… нет? Что, что было?
За уходящей ночной тишиной ускользала и тоненькая ниточка, связывающая в единое целое остатки ночных размышлений.
С нарастающим уличным шумом, прорывая железный уличный асфальт, вырывалось построение новой и последней мысли- все зря, решения нет.
Проснувшись кот Бостон, медленно и лениво потянулся, и с чувством благодарного попрошайки начал тереться бочком по ногах.
За шестым проходом раздался оглушающий звук разряда статического электричества.....
Эврика!
Вот оно решение!
Ведь в поле класс, виджета меню, можно указывать пробел, такая запись в поле ввода
class_left_researh class_menu_personal будет красиво обрамлена двойными кавычками и выведена как значение класса
class="class_left_researh class_menu_personal" !
Вот, вот! А если закончить значения символом двойная кавычка " и через пробел написать id="selector_jQuery
Вот это то что нужно
На выходе получаем <div class="class_left_researh class_menu_personal" id="selector_jQuery ">
Зачем вам именно id, я не могу понять?) Почему нельзя выбирать элемент просто по классу, без махинаций с кавычками?А если закончить значения символом двойная кавычка " и через пробел написать id="selector_jqyery
Вот это то что нужно
Большое спасибо.отсутствие оснований не доверять ВАМ!
Имено потому что что это нужно не мне, а текущим и будущим разработчикам дополнений для Вашей замечательной системы.Зачем вам именно id, я не могу понять?) Почему нельзя выбирать элемент просто по классу, без махинаций с кавычками?
НЕ нужно каждому обьяснять, да вы и не сможете охватить ответом весь потенциал правильных -неправильных-новых обновлений query использование js, и еще кучу нереализованных решений. Просто дайте возможность решать нам так свои расширения -компоненты-дополнения и прочее.
Разговор не именно о селекторе, а о возможности расширить рамки разработчикам.
Для системы это не вопрос, я описал уже выше, если есть еще согласные с данной мною темой иметь шаблон и класс для каждого меню свой поддержите пожалуйста,
Желание расширяет возможности.
Я ничего не понял, что куда добавляем, и откуда что берем :)) Простите за тупость :)Реализация пользовательских классов и шаблонов в меню icms2
Уважаемый DrDooM! Я лично уведомлю Вас когда будет выполнено правильно в рамках системы! Договорились.?Я ничего не понял, что куда добавляем, и откуда что берем :)) Простите за тупость :)
Пока идет рабочая дискуссия девелоперов и разработчиков в плане желания первых и возможности вторых!
Как скажите :)Договорились.?
Спасибо, нужное дело!
Реализация пользовательских классов и шаблонов в меню icms2
Очень порадовало и:
Надеюсь, не заржавеет…Будет со временем.
Перерыл на форуме множество тем касающихся меню аккордеона, но так решения и не нашел. Теперь вопрос: как имеющееся персональное меню пользователя (в боковой панели) переделать в аккордеон? Как переделать код, так, что бы старое меню просто превратилось в аккордеон? Спасибо за ответы.
2 минуты поиска в гугле...Я ничего не понял, что куда добавляем, и откуда что берем :)) Простите за тупость :)
Скачивайте архив, распаковываете файлы в:
..\templates\default\css\accordion.css
..\templates\default\js\accordion.js
в ..\templates\default\controllers\users\widgets\avatar\avatar.tpl.php добавляем в начале строки:
<?php $this->addCSS("templates/{$this->name}/css/accordion.css"); ?> <?php $this->addJS("templates/{$this->name}/js/accordion.js"); ?>
А как сделать то же самое для любого другого меню, например главного?
не совсем понял, а в главном меню пункты должны влево или вправо сдвигаться? оно же горизонтальное (для дефолта)...А как сделать то же самое для любого другого меню, например главного?
а если в вертикальной компоновке то немного нужно исправить код js и css)))