где можно отредактировать меню?

jobantar

Создатель
Регистрация
25 Янв 2011
Сообщения
47
Реакции
1
Доброго всем дня.
Раньше в shop-script меню писалось в index.tpl и было видно проверку зарегин чел или нет типо
{if ($log ne "")} <a href="index.php?user_details=yes"> {$smarty.const.MY_ACCOUNT_LINK} </a> {else} <a href="index.php?register=yes"> {$smarty.const.REGISTER_LINK} </a> {/if}
и соответственно можно было легко добавлять или убирать необходимые линки.
А где посмотреть такое в вебасисте? Требуется подредактировать меню, а не вставлять исходную "cpt_divisions_navigation"
 
Все зависит от того, какие изменения в меню вы хотите внести. Непосредственно за вывод главного меню магазина отвечает метод cpt_divisions_navigation() в файле class.test.php.
 
Все зависит от того, какие изменения в меню вы хотите внести. Непосредственно за вывод главного меню магазина отвечает метод cpt_divisions_navigation() в файле class.test.php.

Посмотрел файл class.test.php не разобрался :( Как можно добавить в этот блок навигации какой нибудь линк необходимый мне, которого нету в стандартном, так чтобы шло одним блоком, не добавляя "произвольный код" в конструкторе?
 
Тут нужно понимать, что метод для отображения главного меню задумывался разработчиками только как навигация по неким стандартным страницам. Если стоит задача сделать смешанное меню из стандартных и кастомных линков, то нет другого варианта, кроме как чередовать вызов дирректив смарти для главного меню (конкретно для тех пунктов, которые вам нужны) с вызовом дирректив, допустим, для вызова дополнительных страниц ({cpt_divisions_navigation divisions='29:13'}{cpt_auxpages_navigation select_pages='selected' auxpages='1:2:3:4'}{cpt_divisions_navigation divisions='56'}) и т.д. Надеюсь смысл понятен.
Далее корректируем стили чтобы комбинированный список смотрелся как одно меню.
Возможно будет удобнее внести небольшие изменения в код, чтобы отключать по необходимости дефолтные оборачивающие дивы.
 
({cpt_divisions_navigation divisions='29:13'}{cpt_auxpages_navigation select_pages='selected' auxpages='1:2:3:4'}{cpt_divisions_navigation divisions='56'})
Я так понял, что внутрь стандартной навигации залезть трудно без знаний php? дополнительные линки придется добавлять только произвольным хтмлом? и потом все подгонять и выравнивать CSS-ом?
 
Я так понял, что внутрь стандартной навигации залезть трудно без знаний php? дополнительные линки придется добавлять только произвольным хтмлом? и потом все подгонять и выравнивать CSS-ом?
Можно залезть внутрь стандартной навигации без знаний пхп. Но стандартная навигация предназначена для вызова компонентов магазина. Т.е. если вы хотите использовать стандартную навигацию для вывода какой-то новой своей страницы, нужно подготовить шаблон, положить его в папку frontend, потом при помощи phpMyadmin нужно будет сделать новую запись в таблице SC_divisions, где необходимо заполнить след. поля:
xID - тот самый номер, который указывается в виде параметра divisions='XX' диррективы смарти в шаблоне.
xName - id названия, например pgn_brandlistaction. Под таким id нужно создать запись в админке в разделе Языки и перевод. Это название и есть имя нового пункта меню.
xUnicKey - ukey по которому будет генерироваться линк к новому разделу, например brandlist.
xPriority - приоритет по которому определяется порядок вывода нового раздела по отношению к существующим. Посмотрите этот параметр у других разделов и определите необходимый приоритет для данного раздела.
xTemplate - название файла шаблона, про который я писал выше (должен находиться в папке frontend).
С остальными полями я не разбирался, копировал в них значения по аналогии с другими разделами или оставлял пустыми. После этого можете указывать этот раздел в ряде других в диррективе {cpt_divisions_navigation divisions='29:XX'} - пункт появится в меню и по нему будет вызываться созданный вами шаблон.
 
Тема неактуальна, но может кому и пригодится, так как сама пыталась найти ответ на тот же вопрос и ничего подходящего нет а оказалось
все намного проще.. открываем файл class.test.php, находим функцию function cpt_divisions_navigation() и там соответственно вывод print '<ul class="'.($local_settings['view'] == 'horizontal'?'horizontal':'vertical').'">'; и т.д.. и в кавычки вписываем свои дополнительные линки, например

print '<ul class="'.($local_settings['view'] == 'horizontal'?'horizontal':'vertical').'">';
foreach ($pages as $page){
if(!in_array($page['id'], $allowed_pages) && !(isset($allowed_pages[0]) && $allowed_pages[0]=='mobile'))continue;

print '<li><a href="'.xHtmlSetQuery($page['ukey']?'?ukey='.$page['ukey']:'?did='.$page['id']).'">'.xHtmlSpecialChars($page['name']).'</a></li>';
}
print '<li ><a href="#">Тут будет ещё одна ссылка</a></li></ul>';
}



... и всё
 
Спасибо, olga2011.

А подскажите, как теперь поставить ссылку на вновь созданную информационную страницу?
 
Назад
Сверху