Категории |
Как поправить цепочку пути(navtrail)Добрый день, как исправить в цепочке пути(navtrail, breadcrumb и как только ее не называют) следующий момент: она везде выводит первым значение "Каталог" хотя мы можем находится даже не в каталоге а на какой-либо другой информационной странице. Где это править? Не нашел ни файла, ни шаблона отвечающего за вывод данной цепочки. Еще попутный вопрос по этой теме, как сделать, чтоб navtrail не выводилась на стартовой странице, а показывалась на всех остальных страницах? to TPEHEP Скорее всего нужно убрать строчку {$navtrail} из index.html шаблона и прописывать ее отдельно в шаблоне выводимого модуля, например в шаблоне вывода новостей content.html и т.д. а как с выводом значения "Каталог" то быть кто-нить знает? GansICH я пробовал вставлять {$navtrail} в product_listing_columns.html например - не выводится эта строка. to ТРЕНЕР так то решение моей проблемы - есть автоматическое решение твоей проблемы так как на Главной странице navtreil выводит только слово "Каталог" Ждем помощи Евгения тогда! вот класс для работы с хлебными крошками)) $breadcrumb->add(HEADER_TITLE_CATALOG, HTTP_SERVER . DIR_WS_CATALOG); добавляется самая первая крошка. каталог убираем эти строчки - пропадает первая ссылка в файле includes\header.php $osTemplate->assign('navtrail',$breadcrumb->trail(' » ')); создается метка {$navtrail} для шаблона можно вызвать $breadcrumb->reset(); для сброса крошек Еще попутный вопрос по этой теме, как сделать, чтоб navtrail не выводилась на стартовой странице, а показывалась на всех остальных страницах? в файле includes\header.php заменить $osTemplate->assign('navtrail',$breadcrumb->trail(' » ')); на if (substr(basename($PHP_SELF), 0,5) != 'index') { $osTemplate->assign('navtrail',$breadcrumb->trail(' » ')); } to TPEHEP Скорее всего нужно убрать строчку {$navtrail} из index.html шаблона и прописывать ее отдельно в шаблоне выводимого модуля, например в шаблоне вывода новостей content.html и т.д. а как с выводом значения "Каталог" то быть кто-нить знает? нет. проще строчку одну в header.php исправить спасибо Евгений за оперативную помощь! В каком месте в хлебных крошках поправить знак ">>" между ссылками? \includes\header.php заменить файл includes\classes\breadcrumb.php на прикрепленный GansICH я пробовал вставлять {$navtrail} в product_listing_columns.html например - не выводится эта строка. Может Евгений подскажет, как сделать? сори. с этим проблемы пока. Это все, конечно, хорошо, но писать плагин ради одного значка в navtrail - который сам по себе простой до предела - это ж расточительство какое... в плагине можно будет сделать возможность выбора чем разделять. а по сути он и так как бокс. в плагине можно будет сделать возможность выбора чем разделять. а по сути он и так как бокс. Он совсем не бокс. Бокс свой в каждом шаблоне, а navtrail зачем-то сделан ЕДИНЫМ. Потому и приходится что-то выдумывать, создавая трудности на пустом месте. И еще важное отличие: бокс обычно использует шаблоны, для которых смена значка куда проще делалась бы. Плагин тут - как из пушки по воробьям. а плагин только фильтр применяет. иначе код движка где-то нужно было бы править. А основной код движка править и так приходится. Не зря приложены измененные файлы. Плагин хорош там, где он делает небольшую правку, чтобы не делать большую правку в основном коде. И обычно плагин служит для изменения ФУНКЦИОНАЛЬНОСТИ. В данном случае вопрос в ДИЗАЙНЕ, и это принято решать ШАБЛОНОМ. Navtrail сам по себе довольно простой, и лучше бы его переписать целиком как бокс, чтобы использовать шаблон. Сделать это совсем не сложно, а пользователям проще было бы. с шаблоном удобнее конечно было бы. А основной код движка править и так приходится. Не зря приложены измененные файлы. при обновлении - правка не слетит. ради этого все и делается Ради одного символа плагин создавать - как-то расточительно... ну можно создать стандартный плагин для шаблона Ради одного символа плагин создавать - как-то расточительно... во всех шаблонах подобавлять бокс navtrail - больше работы. тем более что за все время - раза 2 спрашивали как это сделать. было бы лучше как в wordpress, чтобы шаблон можно было настраивать из админки. можно через плагин сделать управление, но нужно чтобы какой-то файл PHP был подключен к шаблону. А основной код движка править и так приходится. Не зря приложены измененные файлы. при обновлении - правка не слетит. ради этого все и делается Интересно, а как вообще достигается такое, что правка не слетит? Если в дистрибутиве есть файл file.php, и конечный пользователь его поменял, а в новой версии разработчик его тоже поменял по своему, то при перезаписи обязательно слетит. Всем доброго времени суток! Как сделать, чтоб breadcrumb (хлебные крошки) не отображались на главной? в index.html заменить {$navtrail} на )){ {/php}{$navtrail}{php}}{/php} Вообще так как ссылки сами на себя на страницах бессмыслены внес еще кучу исправлений в файл \includes\top.php Начиная что безликое Каталог (HEADER_TITLE_CATALOG) поменял на название магазина (STORE_NAME) Убираем последнюю ссылку в каталогах конструкцию if (os_db_num_rows($categories_query,true) > 0) { $categories = os_db_fetch_array($categories_query,true); $breadcrumb->add($categories['categories_name'], os_href_link(FILENAME_DEFAULT, os_category_link($cPath_array, $categories['categories_name']))); меняем на if (os_db_num_rows($categories_query,true) > 0) { $categories = os_db_fetch_array($categories_query,true); if ($i == $n-1 && !$product->isProduct()){ $breadcrumb->add($categories['categories_name']); } else { $breadcrumb->add($categories['categories_name'], os_href_link(FILENAME_DEFAULT, os_category_link($cPath_array, $categories['categories_name']))); } Для товаров удаляем из $breadcrumb->add($product->getBreadcrumbName(), os_href_link(FILENAME_PRODUCT_INFO, os_product_link($product->data['products_id'], $product->data['products_name'])));все что выделено красным Для новостей меняем if (strstr($PHP_SELF, FILENAME_NEWS)) { $breadcrumb->add(NAVBAR_TITLE_NEWS, os_href_link(FILENAME_NEWS)); на )) { $breadcrumb->add(NAVBAR_TITLE_NEWS); добавляем красное if (isset($_GET['news_id'])) { $breadcrumb->add(NAVBAR_TITLE_NEWS, os_href_link(FILENAME_NEWS)); в следующих строчках наоборот удаляем карсное $breadcrumb->add($news['headline'], os_href_link(FILENAME_NEWS, 'news_id='.$news['news_id'] . $SEF_parameter, 'NONSSL')); еще бы для информационных страниц так сделать .... Чтоб не было ссылки в крошках саму на себя, можно в includes/classes/breadcrumb.php Подскажите пожалуйста, как сделать чтобы последний пункт крошек совсем не отображался? |
|