установлен компонент com_datsogallery для него написал меню навигации.. ( http://stylevision.com.ua/component/datsogallery/?func=viewcategory&catid=22 ) теперь нужно исключить его со страниц, которые не относятся к этому разделу. добавил условие в breadcrumbs. Код (CODE): if ($list[$i]->name=="Коллекции") {$jumpmenu="on";} казалось, теперь при условии что переменная "on" можно отображать меню, но переменная не читается. пробовал читать через Код (CODE): global $jumpmenu; ничего не получается.. пожалуйста, подскажите, в чем проблема? или есть какой другой вариан исключить меню с остальных странииц?
http://stylevision.com.ua/component/datsogallery/?func=viewcategory&catid=22 выпадающий список. практически да, детали тут http://joomla-support.ru/showthread.php?p=75817
Если вы про меню слева "Каталог", то в самом модуле нужно делать проверку для текущей страницы, на такие параметры: - option - func - catid Если соответствует нужным условиям, то выводите модуль.
Может вы мне подскажите. У меня есть установленный модуль breadcrumbs. В нем допустим выводится путь Главная - инет магазин - телевизоры - цветные - Сони Как мне не выводить например слово телевизоры? И как мне не выводить последнюю часть пути, например: цветные - Сони
В модуле не стоит ничего менять, он отвечает только за вывод. Вам нужно заполнить под свои требования объект JPathwaySite. Для этого нужно как минимум базовые знания PHP. Есть некий компонент datsogallery, в нем нужно найти функцию где происходит инициализация переменных для вывода в шаблон (в стандартном варианте модели MVC для Joomla 1.5 это в файле компонента view/view.html.php). В этой функции, вы можите изменить весь пасвей. Для этого сначала определяем текущий путь: Код (PHP): $pathway =& $mainframe->getPathway(); В этом объекте будет переменная _pathway ($pathway->_pathway), в ней будет содержаться массив текущих значений пути. Вам будет нужно только удалить лишнее и сохранить новый путь $pathway->setPathway(Новый массив значений пути);
нет, я имею ввиду вот это: дело в том, что код в самом компоненте работает как-то отдельно от кода скрипта joomla, и если я объявляю переменные непосредственно в меню навигации вверху слева ( Главная > Дизайнеры > Коллекции ) они работают, и читаются только там, несмотря на то что пробовал их объявлять глобальными, и читать.. я даже пробовал в шаблоне вставить это меню до вывода datsogallery где начинается "content". но и там переменные не читались, но в том месте читались переменные объявленные после тега <body> (в галерее они не читались).
Не понял, при чем тут пасвей и ваш выпадающий список? Может чтобы совсем все стало понятно, вы приведете ссылки страниц, которые не относятся к разделу и сделаете скрины где укажите где правильная навигация, а где нет.
http://stylevision.com.ua/component/datsogallery/?func=viewcategory&catid=93 вот к примеру раздел "Городская мода", вверху слева это отображается ( ГЛАВНАЯ > ГОРОДСКАЯ МОДА ), но поскольку я вставил меню (скриншот выше) непосредственно в код компонента глереи, он отображается на всех страницах, где используется компонент. так вот, я нашел способ записать переменную в модуле breadcrumbs, но как передать эту переменную в компонент, не знаю. или ищу других вариантов...
Как я понял, то вам нужно ограничить показ вашего выпадающего списка на некоторых страницах компонента. Если это так, то причем здесь breadcrumbs я не пойму. То что вы вставили меню в код компонента это нормально, но перед выводом этого кода, нужно сделать проверку, например по catid. Если 22, то меню показывается, иначе - нет.
да, была такая идея, но отбросил её.. поскольку категорий очень много, и они добавляются (как те которые можно исключить, так и те которые включить условием) но значение дериктории в breadcrumbs pathway не меняется, по этому зацепился за него..
это вставляю после заголовка "Галерея" в компоненте datsogallery - это всё включал в условие if ($jumpmenu=="ok") - echo '<script language="javascript" src="' . $mosConfig_live_site . '/components/com_datsogallery/jumpmenu/chainedmenu.js"></script>'; echo '<script type="text/javascript" language="javascript" src="' . $mosConfig_live_site . '/components/com_datsogallery/jumpmenu/config.php"></script>'; echo '<form name="listmenu0">'; echo '<table width="449"><tr>'; echo '<td width="170"><select name="firstlevel" style="width:170px; border:#CCC solid 1px; background-color:#FFF;"></select></td>'; echo '<td width="170"><select name="secondlevel" style="width:170px; border:#CCC solid 1px; background-color:#FFF;"></select></td>'; echo '<td width="123"><input style="border:#CCC solid 1px; background-color:#FFF; width:27px;" type="button" value=">" onClick="goListGroup(document.listmenu0.firstlevel, document.listmenu0.secondlevel)">'; echo " <input type='button' value='сброс' onClick=".'"'."resetListGroup('chainedmenu')".'"'." style='border:#CCC solid 1px; background-color:#FFF;'>"; echo '</tr></table>'; echo '</form>'; в архиве файлы, на которые ссылается код а вот это вставляю в цыкл, который строит навигационное меню вверху. когда попадается меню с имене коллекция, переменной присваивается имя. пробовал выводить переменную прям в меню, сработало, перед словом коллекции выводилось значение переменной. <?php for ($i = 0; $i < $count; $i ++) : // If not the last item in the breadcrumbs add the separator if ($i < $count -1) { if(!empty($list[$i]->link)) { if ($list[$i]->name=="Коллекции") { global $jumpmenu; $jumpmenu = 'ok'; } echo '<a href="'.$list[$i]->link.'" class="pathway">'.$list[$i]->name.'</a>'; } else { echo $list[$i]->name; } echo ' '.$separator.' '; } else if ($params->get('showLast', 1)) { // when $i == $count -1 and 'showLast' is true echo $list[$i]->name; } endfor; ?>
В модуле breadcumbs, вы не сможете выключить ваш модуль. Это не правильное направление решения проблемы. Попробуйте в модуле (где выпадающий список) выполнить код: Код (PHP): $pathway =& $mainframe->getPathway(); var_dump($pathway->_pathway); die(); Если название "Коллекция" уже будет определен, то делайте проверку. Если нет, то нужно выводить модуль не в компоненте, а как модуль и сделать привязку модуля к элементу меню.