Понравился Ваш продукт, склоняюсь к его приобретению. в данный момент провожу интеграцию с дизайном, но столкнулся с такой проблемой: мое Верхнее меню представляет собой графические элементы (gif) количество разделов строго ограниченно, при наведении выделяется подсветкой, при нажатии происходит замена img, подскажите может у Вас есть top.menu_template.php такого типа? Или нет возможности реализовать такое меню?
1. Задавать название файла картинки в поле "Название" при создании меню. Затем необходимо будем модифицировать шаблон показа меню таким образом, чтобы вывод картинок осуществлялся корректно.
Например, вы зададите в поле "Название" имя файла: products.
Тогда в шаблоне вам необходимо будет указать: ... <img src='".$TEXT.".gif' width='35' height='20'> ... (В данном случае предполагается, что все графические пункты меню представлены картинками одного размера.)
В случае, когда нужно заменить картинку для активного пункта меню, следует использовать отдельную переменную, которая задает некоторый префикс для файла, например,
Здравствуйте, то же делаю интеграцию шаблона на демо сайте, проблема такая же, то есть верхнее меню в виде картинок-разделов. Надо сделать, чтобы при наведении мышки на картинку-раздел открывался вертикально многоуровневый список. Всего шесть картинок-разделов, картинки немного отличаются по размерам, подскажите, пожалуйста, решение? Подойдут ли выше описанные варианты? С php столкнулась впервые.
Сделала как в примере выше, но кажется это не то что надо. Картинка дублируется в каждом пункте меню, а в пунктах меню картинок не должно быть.
Собственно картинки - это родители, вот их то и надо сделать активными, как это сделать? Еще вся графика смещается за границы при появлении пунктов меню, как этого избежать? Для наглядности есть скриншот: Визуально пунктов меню не должно быть видно вообще, лишь при наведении на картинки они должны появиться внизу картинки, без смещения дизайна, как это сделать, подскажите, пожалуйста?
Тоже стояла похожая задача. Т.е. сделать(или переделать) меню(именно меню,а не компонента "Структура разделов" ) ,типа "left".Это меню,как мы знаем,которое выводит разделы нашей продукции.Обычно оно в хедере и выводится на всех страницах.Почему я не использовала компоненту "структура разделов",поскольку при клике на раздел мы переходили в раздел,но в этом разделе у нас компонента менялась,и там уже отображались разделы нашего раздела=)).А нам нужно,чтоб при выборе одно из пункта меню мы переходит в раздел той или иной продукции,и в меню отображались разделы.
Первое что вам нужно сделать это скопировать шаблон компоненты меню типа "left"(надеюсь это обьяснять не надо ). Затем необходимо добавить изображения к разделам продукции(не к товаром-а к разделам).Переходим в административную часть,контент-каталоги-продукция(выбираем продукция).Нам выведет разделы нашей продукции.Меняем один из разделов(изобр.1) (изображения 1)
Добавляем картинку раздела(лучше с компьютера-у меня почему-то когда добавляю со структуры не загружалось)изображения 2. изображения 2 Сохраняем. Далее я меняла сам код меню.Итак поехали.
<?if (!defined("B_PROLOG_INCLUDED" ) || B_PROLOG_INCLUDED!==true)die();?> <? if (count($arResult) < 1) return; ?> /*практически все компонеты битрикс свёрстаны под таблицу(теги tr,td).Но я использовала стандартно nav и список ul,li-смотрите код.class-это для вёрстки я использовала-классу прописаны какие-то css свойства)*/ <nav class="main-menu">
<? /*(чтоб не в тупую копировать,советую внимательно прочитать http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblocksection/getlist.php и разобратся с примерами ниже.Я использую фильтр $arFilter,в котором массив ,по которому будет сортироватся по инфоблоку типа "catalog",с id=6(у меня несколько инфоблоков) и уровень вложенности=1 "DEPTH_LEVEL"=>1.Если 2 то у нас отражались бы и подразделы,а мне это не нужно было)*/ $arFilter = Array("PROPERTY"=>array("S_BRAND"=>$ar_enum_list["ID"],"IBLOCK_TYPE"=>"catalog","IBLOCK_ID"=>6, "DEPTH_LEVEL"=>1); /*переменной $resSection присваеваем функцию CIBlockSection::GetList,в которой вносится разделы по выборке $arFilter*/ $resSection = CIBlockSection::GetList(false,$arFilter); /*делаем цикл-это тоже практически во всех компонентах.Просто здесь у нас пробегается по всем разделам,в других компонентам по всем элементам раздела,или по чему то ещё-не обязательно по продукции циклы.Итак,переменной $arSect мы присваиваем раздел.Потом в переменную $arSect мы будем выводить всё что нам нужно.То есть не только изображения раздела,а например описания раздела $arSect["DESCRIPTION"].Далее вы поймёте */ while ($arSect = $resSection->GetNext() ) { /*А теперь то что нужно.Для того чтоб выводились изображения разделов мы переменной $resPicture присваиваем функцию CFile::ShowImage,в которую заносится изображения наших разделов $arSect['PICTURE'] */ $resPicture=CFile::ShowImage($arSect['PICTURE'],"","", true); ?> /*условие если пункт меню активный*/ <?if($arSect["SELECTED"]):?>
/* в тег a присваиваем путь к разделам.В href заносим переменную $arSect["SECTION_PAGE_URL"].Если радел имеет картинку(if ($arSect["PICTURE"])),то выводим <?=$resPicture?>.Только не нужно прописать img src="<?=$resPicture?>",иначе когда вы сохраните и просмотрите результат,а точнее код на вашем сайте через браузер,там выводится img src="img src="путь к изображению раздела""*/ " class="selected"><?if ($arSect["PICTURE"]){?><?=$resPicture?><?}?> <span class="text-menu"><?=$arSect["NAME"]?></span>