Категории |
Добавление разделов в горизонтальное меню-закладки сверхуПодскажите плиз, как можно добавить в это меню ещё разделы, например, наряду со стандартными "Главная" "Корзина" Оформить" "Вход" сделать ещё "О нас" "Оптовикам" "Доставка" и т.д.??? Или, например, как можно перенести содержимое бокса "контент" или "информация" в это меню? И еще одно, при использовании некоторых шаблонов содержимое сайта отображается, но частично... На местах многих боксов и сверху появляется следующее: Warning: Smarty error: unable to read resource: "ru/lang_ru.conf" in c:\program files\phpshop software\www\includes\lib\smarty\smarty.class.php on line 1108 .. заменить файл includes\lib\smarty\plugins\function.config_load.php на прикрепленный. Подскажите плиз, как можно добавить в это меню ещё разделы, например, наряду со стандартными "Главная" "Корзина" Оформить" "Вход" сделать ещё "О нас" "Оптовикам" "Доставка" и т.д. Или, например, как можно перенести содержимое бокса "контент" или "информация" в это меню? themes\ваш_шаблон\index.html например в default заменить <table class="adn"><tr><td> <table class="adn print" width="100%"> <tr> <td class="headlink vleft bf"> <a href="{$mainpage}">{#text_mainpage#}</a><span class="delm">|</span> {if $account}{if $smarty.session.customer_id} <a href="{$account}">{#link_account#}</a><span class="delm">|</span> {/if}{/if} <a href="{$cart}">{#link_cart#}</a><span class="delm">|</span> <a href="{$checkout}">{#link_checkout#}</a><span class="delm">|</span> </td> <td align="right" class="headlink vleft bf" width="70px"> {if $account}{if $smarty.session.customer_id} <span class="delm">|</span><a href="{$logoff}">{#link_logoff#}</a> {else} <span class="delm">|</span><a href="{$login}">{#link_login#}</a> {/if} {/if} </td> </tr> </table> на <table class="adn"><tr><td> <table class="adn print" width="100%"> <tr> <td class="headlink vleft bf"> <a href="{$mainpage}">{#text_mainpage#}</a><span class="delm">|</span> <a href="Ваша_ссылка">Ваш_текст</a><span class="delm">|</span> {if $account}{if $smarty.session.customer_id} <a href="{$account}">{#link_account#}</a><span class="delm">|</span> {/if}{/if} <a href="{$cart}">{#link_cart#}</a><span class="delm">|</span> <a href="{$checkout}">{#link_checkout#}</a><span class="delm">|</span> </td> <td align="right" class="headlink vleft bf" width="70px"> {if $account}{if $smarty.session.customer_id} <span class="delm">|</span><a href="{$logoff}">{#link_logoff#}</a> {else} <span class="delm">|</span><a href="{$login}">{#link_login#}</a> {/if} {/if} </td> </tr> </table> Разобрался как вроде. Thank! :) Здравствуйте, Евгений! Подскажите плиз, как можно добавить в это меню ещё разделы, например, наряду со стандартными "Главная" "Корзина" Оформить" "Вход" сделать ещё "О нас" "Оптовикам" "Доставка" и т.д.??? Или, например, как можно перенести содержимое бокса "контент" или "информация" в это меню? Доброго времени суток! Не стал создавать новую тему,решил поднять старую. Вот мой способ,как можно добавить в горизонтальное меню ещё разделы,с возможностью включения/отключения и редактирования через админку. Если кто то посчитает мой способ варварским,сильно не пинайте. Итак начнём: 1. Создаём новый бокс в админке. Выполняем запрос к базе INSERT INTO os_configuration (configuration_key, configuration_value, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function) VALUES ('VIS_BOX_TOP_MENU', 'true', 30, 0, NULL, '', NULL, 'os_cfg_select_option(array(\'true\', \'false\'),'); и в файле themes\ваш_шаблон\source\boxes.php добавить до ?> if (VIS_BOX_TOP_MENU == 'true') { require(DIR_WS_BOXES . 'top_menu.php'); } и в файле admin\langs\ru\configuration.php Добавить define('VIS_BOX_TOP_MENU_TITLE','Меню'); define('VIS_BOX_TOP_MENU_DESC','Показывать блок Меню (BOX_TOP_MENU).'); Если всё правильно сделали,то в админке Настройка -> Шаблоны -> Настройка блоков должно появиться 2. Создаём копию блока content, с возможностью изменять страницы из админки. Выполняем запрос к базе INSERT INTO os_cm_file_flags (file_flag, file_flag_name) VALUES ('3', 'top_menu'); после добавление этого кода в базу, в админке видим следующее: Так же нужно сделать копии файлов: themes\ваш_шаблон\source\boxes\content.php с именем top_menu.php themes\ваш_шаблон\boxes\box_content.html c именем box_top_menu.html Правим файл themes\ваш_шаблон\source\boxes\top_menu.php. нужно править только те места, которые отмечены красным цветом. <?php $box = new osTemplate; $content_string = ''; $box->assign('language', $_SESSION['language']); // set cache ID if (!CacheCheck()) { $cache=false; $box->caching = 0; } else { $cache=true; $box->caching = 1; $box->cache_lifetime = CACHE_LIFETIME; $box->cache_modified_check = CACHE_CHECK; $cache_id = $_SESSION['language'].$_SESSION['customers_status']['customers_status_id']; } if (!$box->is_cached(CURRENT_TEMPLATE.'/boxes/box_top_menu.html', $cache_id) || !$cache) { $box->assign('tpl_path', _HTTP_THEMES_C); if (GROUP_CHECK == 'true') { $group_check = "and group_ids LIKE '%c_".$_SESSION['customers_status']['customers_status_id']."_group%'"; } $content_query = "SELECT content_id, categories_id, parent_id, content_title, content_url, content_group FROM ".TABLE_CONTENT_MANAGER." WHERE languages_id='".(int) $_SESSION['languages_id']."' and file_flag=3 ".$group_check." and content_status=1 order by sort_order"; $content_query = osDBquery($content_query); while ($content_data = os_db_fetch_array($content_query, true)) { $SEF_parameter = ''; if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') $SEF_parameter = '&content='.os_cleanName($content_data['content_title']); if ($content_data['content_url'] != '') { $link = '<a href="'.$content_data['content_url'].'" target="_blank">'; } else { $link = '<a href="'.os_href_link(FILENAME_CONTENT, 'coID='.$content_data['content_group'].$SEF_parameter).'">'; } $content_string .= $link.$content_data['content_title'].'</a>' . "\n"; } if ($content_string != '') $box->assign('BOX_CONTENT', $content_string); } if (!$cache) { $box_content = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_top_menu.html'); } else { $box_content = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_top_menu.html', $cache_id); } $osTemplate->assign('box_TOP_MENU', $box_content); ?> Правим файл themes\ваш_шаблон\boxes\box_top_menu.html удаляем всё кроме этих строк,должно выглядеть вот так: {config_load file="$language/lang.conf" section="boxes"} {config_load file="$language/lang.conf" section="index"} {$BOX_CONTENT} в themes\ваш_шаблон\index.html добавить в нужное место блок top_menu.php {$box_TOP_MENU} например так, как показано на скриншоте: Работа с кодом закончена. Надо будет доработать только CSS. Спасибо за идею Евгению. Статейка уже есть http://www.shopos.ru/forum/index.php?topic=374.msg887#msg887 Я в курсе, что статья есть. Просто из двух статей сделал одну. :) слушайте...можно матом?... бл@ ох'енно СПАСИБО!))))))))) только хотел поднять вопрос, и тут поиск по последнему, 5-му запросу, выдает эту тему))) |
|