Jump to content
Sign in to follow this  
Badoreh

Создание простых статей в верхнем меню

Recommended Posts

Доброго времени суток!

В деле построения сайтов я новичок, поэтому не судите строго...

Суть моей проблемы в следующем:

В верхнем горизонтальном меню помимо продукции и услуг я хочу добавить разнообразные разделы, которые будут заполнены не "товарами", а простыми статьями, новостями, контактами и т.д. и т.п. Так вот, через простое добавление в меню "категорий" эти разделы то появляются, но отображаются они в качестве "магазина", т.е. с выбором подкатегорий и надписью "в этой категории нет товаров" (для наглядности прикладываю скрин). Вобщем, как я могу закинуть простые статьи в верхнее горизонтальное меню??

Всем заранее спасибо!

post-31124-0-38576100-1364321617_thumb.jpg

Share this post


Link to post
Share on other sites

в header.tpl добавте руками пункты...

  <?php if ($category['children']) { ?>
  <div>
	<?php for ($i = 0; $i < count($category['children']);)/> { ?>
	<ul>
	  <?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
	  <?php for (; $i < $j; $i++) { ?>
	  <?php if (isset($category['children'][$i])) { ?>
	  <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li>
	  <?php } ?>
	  <?php } ?>
	</ul>
	<?php } ?>
  </div>
  <?php } ?>
</li>
<?php } ?>
 </ul>
</div>
<?php } ?>

где то тут.. поищите на форуме..уже писали об этом

например тут https://opencartforum.com/topic/3864-как-сделать-горизонтальное-меню/

Edited by koreshok

Share this post


Link to post
Share on other sites

вот... читайте... первое, что попалось в гугле...

В файле /catalog/view/theme/ваша_тема/template/common/header.tpl

<?php if ($categories) { ?>
<div id="menu">
<ul>
<?php foreach ($categories as $category) { ?>
<li><?php if ($category['active']) { ?>
<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
<?php } else { ?>
<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
<?php } ?>
<?php if ($category['children']) { ?>
<div>
<?php for ($i = 0; $i < count($category['children']) { ?>
<ul>
<?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
<?php for (; $i < $j; $i++) { ?>
<?php if (isset($category['children'][$i])) { ?>
<li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li>
<?php } ?>
<?php } ?>
</ul>
<?php } ?>
</div>
<?php } ?>
</li>
<?php } ?>
</ul>
</div>
<?php } ?>

В нем добавляете какие угодно ссылки. Необходимо понимать, что пункты расположены в тегах <li></li>, а подпункты почему-то в <div></div>

Например пункт с подпунктом нужно прописать так

<li>Пункт

<div> Подпункт

Подпункт

</div>

</li>

Если к примеру нужно в начале меню сделать ссылку на главную, а потом оставить категории каталога, пишите так

<?php if ($categories) { ?>
<div id="menu">
<ul>
<li><a href="/">Главная</a></li>
<?php foreach ($categories as $category) { ?>
<li><?php if ($category['active']) { ?>
<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
<?php } else { ?>
<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
<?php } ?>
<?php if ($category['children']) { ?>
<div>
<?php for ($i = 0; $i < count($category['children']) { ?>
<ul>
<?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
<?php for (; $i < $j; $i++) { ?>
<?php if (isset($category['children'][$i])) { ?>
<li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li>
<?php } ?>
<?php } ?>
</ul>
<?php } ?>
</div>
<?php } ?>
</li>
<?php } ?>
</ul>
</div>
<?php } ?>

А чтобы русский текст в браузере отображался нормально, а не "крокозябрами", сохраните header.tpl в кодировке UTF-8 (без ВОМ)

(для Notepad++ - верхнее меню кодировка/UTF-8 (без ВОМ))

Share this post


Link to post
Share on other sites

Перерыл весь форум, пробовал и так и так, но при замене кола в файле хедер открывается пустая страница вместо файла, хотя пункт ГЛАВНАЯ получилось добавить, но хочется вместо категорий подтянуть в горизонтальное меню пункты из блока ИНФОРМАЦИЯ, а категорий достаточно и слева и в центре страницы, помоги добрый человек с кодом, вот мой код хедер:

<!DOCTYPE html>
<html dir="<?php echo $direction; ?>" lang="<?php echo $lang; ?>">
<head>
<meta charset="UTF-8" />
<title><?php echo $title; ?></title>
<base href="<?php echo $base; ?>" />
<?php if ($description) { ?>
<meta name="description" content="<?php echo $description; ?>" />
<?php } ?>
<?php if ($keywords) { ?>
<meta name="keywords" content="<?php echo $keywords; ?>" />
<?php } ?>
<?php if ($icon) { ?>
<link href="<?php echo $icon; ?>" rel="icon" />
<?php } ?>
<?php foreach ($links as $link) { ?>
<link href="<?php echo $link['href']; ?>" rel="<?php echo $link['rel']; ?>" />
<?php } ?>
<link rel="stylesheet" type="text/css" href="catalog/view/theme/magicgold/stylesheet/stylesheet.css" />
<?php foreach ($styles as $style) { ?>
<link rel="<?php echo $style['rel']; ?>" type="text/css" href="<?php echo $style['href']; ?>" media="<?php echo $style['media']; ?>" />
<?php } ?>
<script type="text/javascript" src="catalog/view/javascript/jquery/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="catalog/view/javascript/jquery/ui/jquery-ui-1.8.16.custom.min.js"></script>
<link rel="stylesheet" type="text/css" href="catalog/view/javascript/jquery/ui/themes/ui-lightness/jquery-ui-1.8.16.custom.css" />
<script type="text/javascript" src="catalog/view/javascript/quick_search.js"></script>
<script type="text/javascript" src="catalog/view/javascript/jquery/ui/external/jquery.cookie.js"></script>
<script type="text/javascript" src="catalog/view/javascript/jquery/colorbox/jquery.colorbox.js"></script>
<link rel="stylesheet" type="text/css" href="catalog/view/javascript/jquery/colorbox/colorbox.css" media="screen" />
<script type="text/javascript" src="catalog/view/javascript/jquery/tabs.js"></script>
<script type="text/javascript" src="catalog/view/javascript/common.js"></script>
<script type="text/javascript" src="catalog/view/javascript/jquery/zoom/zoom.js"></script>
<?php foreach ($scripts as $script) { ?>
<script type="text/javascript" src="<?php echo $script; ?>"></script>
<?php } ?>
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="catalog/view/theme/magicgold/stylesheet/ie8.css" />
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="catalog/view/theme/magicgold/stylesheet/ie7.css" />
<![endif]-->
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="catalog/view/theme/magicgold/stylesheet/ie6.css" />
<script type="text/javascript" src="catalog/view/javascript/DD_belatedPNG_0.0.8a-min.js"></script>
<script type="text/javascript">
DD_belatedPNG.fix('#logo img');
</script>
<![endif]-->
<?php echo $google_analytics; ?>
</head>
<body ondragstart="return false;" onselectstart="return false;" oncontextmenu="return false;">
<div id="container">
<div id="header">
  <?php if ($logo) { ?>
  <div id="logo"><a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title="<?php echo $name; ?>" alt="<?php echo $name; ?>" /></a></div>
  <?php } ?>
  <?php echo $language; ?>
  <?php echo $currency; ?>
  <div class="informationpanel"><img src="/image/information.png" /></div>
  <div class="telefonimg"><img src="/image/telefon1.png" /></div>
  <div class="telefonnumber"><?php echo $storePhone; ?></div>
  <div class="cartimg"><img src="/catalog/view/theme/magicgold/image/cart-img.png" /></div>
  <?php echo $cart; ?>
  <div id="search">
    <div class="button-search"></div>
    <?php if ($filter_name) { ?>
    <input type="text" name="filter_name" value="<?php echo $filter_name; ?>" />
    <?php } else { ?>
    <input type="text" name="filter_name" value="<?php echo $text_search; ?>" onclick="this.value = '';" onkeydown="this.style.color = '';" />
    <?php } ?>
  </div>
  <div id="address-data">
    <?php if (($this->config->get('config_display_address') == 1) || ($this->config->get('config_display_telephone') == 1) || ($this->config->get('config_display_fax') == 1) || ($this->config->get('config_display_email') == 1)) { ?>
       <div class="address-data-header"><?php echo $address_data; ?></div>
    <?php } ?>
    <?php if ($this->config->get('config_display_address') == 1) { ?>
       <?php echo $address; ?><br />
    <?php } ?>
    <?php if ($this->config->get('config_display_telephone') == 1) { ?>
       <b><i><?php echo $text_telephone; ?></i></b>
       <?php echo $telephone; ?>
    <?php } ?>
    <?php if ($this->config->get('config_display_fax') == 1) { ?>
       <b><i><?php echo $text_fax; ?></i></b>
       <?php echo $fax; ?>
    <?php } ?>
    <?php if ($this->config->get('config_display_email') == 1) { ?>
       <br /><b><i><?php echo $text_email; ?></i></b>
       <?php echo $email; ?>
    <?php } ?>
  </div>
  <div class="links"><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a><a href="<?php echo $wishlist; ?>" id="wishlist-total"><?php echo $text_wishlist; ?></a><a href="<?php echo $compare; ?>" id="compare-total-header"><?php echo $text_compare; ?></a><a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?></a><a href="<?php echo $checkout; ?>"><?php echo $text_checkout; ?></a></div>
</div>
<?php if ($main_menu == '1') { ?>
<div id="advanced_menu"><?php if ($advanced_categories) {  echo $advanced_categories; } ?></div>
<?php } else { ?>
<?php if ($categories) { ?>
<div id="menu">
  <ul>
  <li><a href="/">Главная</a></li>
    <?php foreach ($categories as $category) { ?>
    <li><?php if ($category['active']) { ?>
    <a href="<?php echo $category['href']; ?>" class="active"><?php echo $category['name']; ?></a>
    <?php } else { ?>
    <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
    <?php } ?>
      <?php if ($category['children']) { ?>
      <div>
        <?php for ($i = 0; $i < count($category['children']);) { ?>
        <ul>
          <?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
          <?php for (; $i < $j; $i++) { ?>
          <?php if (isset($category['children'][$i])) { ?>
          <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li>
          <?php } ?>
          <?php } ?>
        </ul>
        <?php } ?>
      </div>
      <?php } ?>
    </li>
    <?php } ?>
    
  </ul>
</div>
<?php } ?>
<?php } ?>
<div id="notification"></div>

Что нужно убрать и что нужно добавить?

Edited by afwollis
**

Share this post


Link to post
Share on other sites

писал фак на форуме по всяческим переделкам меню навигации, но в связи с разгромным сообщением  в личку одного из модеров сего сайта удалил..теперь вот приходиться бегать по форуму и искать ссылки на сообщения, но думаю вот это вам подойдет...все ссылки на информационные страницы и никаких сообщений о отсутствующих товарах

https://opencartforum.com/topic/19559-kak-dobavit-ssylki-v-glavnoe-meniu-v-1541/?do=findComment&comment=195669

(можно удалить меню с категориями, но можно и интегрировать то что я описал в изначальное меню)

Share this post


Link to post
Share on other sites

Добавлять то добавляется пункт меню через код но если переключить магазин с русского на английский добавленный пункт меню тоже на русском остается, как быть?

Share this post


Link to post
Share on other sites

Добавлять то добавляется пункт меню через код но если переключить магазин с русского на английский добавленный пункт меню тоже на русском остается, как быть?

а по ссылке ходили? что я указывал

продублирую:

Делайте так: 

в \catalog\controller\common

файл header.php

 

после: 

 

$this->children = array(
'module/language',
'module/currency',
'module/cart'
);

вставить

 

$this->load->model('catalog/information');
        $this->data['informations'] = array();
        foreach ($this->model_catalog_information->getInformations() as $result) {
            $this->data['informations'][] = array(
                'title' => $result['title'],
                'href'  => $this->url->link('information/information', 'information_id=' . $result['information_id'])
            );
        } 

в \catalog\view\theme\default\template\common

файл header.tpl

 

удалить

 

<?php if ($categories) { ?>
<div id="menu">
  <ul>
    <?php foreach ($categories as $category) { ?>
    <li><?php if ($category['active']) { ?>
<a href="<?php echo $category['href']; ?>" class="active"><?php echo $category['name']; ?></a>
<?php } else { ?>
<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
<?php } ?>


      <?php if ($category['children']) { ?>
      <div>
        <?php for ($i = 0; $i < count($category['children']);) { ?>
        <ul>
          <?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
          <?php for (; $i < $j; $i++) { ?>
          <?php if (isset($category['children'][$i])) { ?>
          <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li>
          <?php } ?>
          <?php } ?>
        </ul>
        <?php } ?>
      </div>
      <?php } ?>
    </li>
    <?php } ?>
  </ul>
</div>
<?php } ?>

заменить на

 

<div id="menu">
 <ul>
<li class="home"><a  title="<?php echo $text_home; ?>" href="<?php echo $home; ?>"><span><?php echo $text_home; ?></span></a></li>
      <?php foreach ($informations as $information) { ?>
      <li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li>
      <?php } ?>
     </ul>
</div>

локализация неактуальна, так как название статей ты прописываешь сам на всех языках что есть

порядок расположения: вводом порядкового номера статьи

убрать ненужный пункт: порядковый номер статьи ; -1

 

 

локализация неактуальна, так как название статей ты прописываешь сам на всех языках что есть

 

или вам все еще костыли нужны?

Share this post


Link to post
Share on other sites

"так как название статей ты прописываешь сам на всех языках что есть" - в каком файле прописывать статьи на всех языках??

Share this post


Link to post
Share on other sites

"так как название статей ты прописываешь сам на всех языках что есть" - в каком файле прописывать статьи на всех языках??

зачем ерунду то спрашивать? 

http://joxi.ru/ZrJpPBjFNOgG2j

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.