Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[РЕШЕНО] Как добавить ссылки в главное меню (1.5.4.1)


Recommended Posts

Как добавить ссылки в главное меню OpenCart v. 1.5.4.1? шаблон default, перелопатил много инфы на эту тему, но как правило код значительно отличается от моего.

Мне нужно чтобы в главном меню были ссылки на эти страницы - О компании, Доставка и оплата, Ответы на вопросы, Связаться с нами.

Как правило в других темах пишут что нужно лезть в файл header.tpl но в приводимых примерах код этого файла сильно отличается.

файл находится здесь catalog/view/theme/default/template/common/header.tpl

код файла:

<!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/default/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/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>
<?php foreach ($scripts as $script) { ?>
<script type="text/javascript" src="<?php echo $script; ?>"></script>
<?php } ?>
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/ie7.css" />
<![endif]-->
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="catalog/view/theme/default/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>
<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; ?>
 <?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 = '#000000';" />
<?php } ?>
 </div>
 <div id="welcome">
<?php if (!$logged) { ?>
<?php echo $text_welcome; ?>
<?php } else { ?>
<?php echo $text_logged; ?>
<?php } ?>
 </div>
 <div class="links"><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a><a href="<?php echo $wishlist; ?>" id="wishlist-total"><?php echo $text_wishlist; ?></a><a href="<?php echo $account; ?>"><?php echo $text_account; ?></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 ($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="notification"></div>

помогите пожалуйста разобраться

Link to comment
Share on other sites


вопрос РЕШЕН! пользователь с форума searchengines по имени "Dimmmetrio" помог с решением

Вот этот кусок кода - вывод главного меню:

<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>

Вы можете просто заменить его (этот фрагмент кода) на свой, например так:

<div id="menu">
<ul>
  <li><a href="/">О компании</a></li>
  <li><a href="/">Доставка и оплата</a></li>
  <li><a href="/">Ответы на вопросы</a></li>
  <li><a href="/">Связаться с нами</a></li>
</ul>
</div>

  • +1 2
Link to comment
Share on other sites


  • 2 months later...

А я бы ещё удалил ещё кусочек кода до и после <div id="menu">.....</div>.

 

До вот этот:

<?php if ($categories) { ?>

и после вот этот:

 <?php } ?>   

 

Иначе если НИ одна категория не включена для отображения в главном меню, то меню вообще не отображается.

Link to comment
Share on other sites


  • 2 months later...



Вы можете просто заменить его (этот фрагмент кода) на свой, например так:

 

<div id="menu">
<ul>
   <li><a href="/">О компании</a></li>
   <li><a href="/">Доставка и оплата</a></li>
   <li><a href="/">Ответы на вопросы</a></li>
   <li><a href="/">Связаться с нами</a></li>
</ul>
</div>

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

  • +1 1
Link to comment
Share on other sites


1. Вместо

<li><a href="/">О компании</a></li>

надо

<li><a href="/">$text_about</a></li>

2. В контроллере:
 

$this->data['text_about'] = $this->language->get('text_about');

3. В языковом файле:

$_['text_about']    = 'О компании';

Для других языков  - то же самое из 3-го пункта, но на нужном языке.

 

Остальные элементы меню - по аналогии...

Link to comment
Share on other sites


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

Link to comment
Share on other sites


Что именно не получилось? Какие ошибки?

сделал все как Вы написали, но у меня в таком случае страница так и называется: text_about

Link to comment
Share on other sites


catalog/language/common/header.php

Добавить

$_['text_about'] = 'О компании';
В catalog/language/ukraine/common/header.php тоже самое, но на украинском.
Link to comment
Share on other sites


1) <li><a href="/">$text_about</a></li>  или же  <li><a href="/">$_text_about</a></li>

 

2) $_['text_about'] = 'О компании'; или же без скобок $_text_about = 'О компании'

 

3) если я создаю абсолютно новую страницу, например ТЕЛЕВИЗОРЫ, что в таком случае писать вместо $_text_about 

  • +1 1
Link to comment
Share on other sites


1)

<li><a href="/"><?php $text_about; ?></a></li>

 

я еще больше запутался. Изначально же был такой код : <li><a href="/">$text_about</a></li>

 

хотя попробовал и с одним, и со вторым... результата нет

  • +1 1
Link to comment
Share on other sites


такой пример того что прописано в /catalog/view/theme/metalic/template/common/header.tpl

<li><a href="./ru/catalog"><?php $text_catalog; ?></a></li>

 

при смене языков с укр. на русский, и наоборот, текст переменной переводится отлично..

 

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

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

Link to comment
Share on other sites


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

 

 

К примеру категории главного горизонтального меню: 

1. Цветы     2. Телевизоры     3. Машины     4. Продукты     5. О нас     6. Доставка и оплата     7.Политика безопасности   8. Стать партнером

1.1 фиалки 2.1. лсд                3.1 легковые                            

1.2 розы                                  3.2 грузовые                            

1.3 одуванчики                                                                       

                                                                                                

Нужно чтобы выпадало например

 

 5. О нас

 

 5.1. Вакансии

 5.2. Режим работы

 5.3. О компании

 5.4. Наши сотрудники

 

 

 Вариант указанный ниже не прокатывает:((((

 

<ul>

 <li><a href="/">О нас</a></li>
      <ul>
       <li><a href="/">Вакансии</a></li>
       <li><a href="/">Режим работы</a></li>
       <li><a href="/">Наши сотрудники</a></li>
     </ul>
 <li><a href="/">Доставка и оплата</a></li>
 <li><a href="/">Политика безопасности</a></li>
 <li><a href="/">Стать партнером</a></li>
</ul>
 
Сайт только Русско-язычный, особых заморочек не требуется
Link to comment
Share on other sites


ну вы путаете одно с другим)))) 

есть модули...https://opencartforum.com/topic/13418-sl-menu-category-megameniu-ocstore-15x/page-12

можно допилить руками, например как тут у меня: http://kurilka.elitno.net/

1. Да вот как раз не путаю и по теме спросил, чтоб сделать только одну категорию и в неё уже добавить нужные страницы)) 

А для примера расписал, чтоб понятней было))

 

Подходящих модулей не встречал, так бы ограничился им)) 

 

2. На Вашем сайте нет того примера что требуется, у Вас там только категории товаров, а нужно чтоб в одной ветке были категории товаров и свои ссылки... 

 

 

 

Link to comment
Share on other sites


  • 1 month later...

Сделал все как написали , все работает , спасибо , есть одно Но :) растянулась странички Information, About Us и т.д. на весь экран(по всей ширине) , корзина также, подскажите , пожалуйста что убрать или дописать чтобы все оставалось в пределах стиля ? 
Что было :

<?php if ($categories) { ?>
  <div class="floating"><div id="menu">
<ul>
    <?php foreach ($categories as $category) { ?>
    <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
      <?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>

post-672375-0-11069700-1381593582_thumb.jpg post-672375-0-99477200-1381593591_thumb.jpg

Link to comment
Share on other sites


  • 1 month later...

Добрый день, уважаемые форумчане! У меня такой вопрос: если я хочу оставить отображение категорий, как это сделано по умолчанию, а просто добавить ссылки на свои статьи ПОСЛЕ категорий... Это как-то можно реализовать, не подскажете? Спасибо за ответы!

Link to comment
Share on other sites



<?php if ($categories) { ?>

<div id="menu">

  <ul>

<li><a href="ССЫЛКА НА СТРАНИЦУ">ПУНКТ МЕНЮ</a></li> <---- В меню навигации слева (в начале)

    <?php foreach ($categories as $category) { ?>

    <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>

      <?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 } ?>

<li><a href="ССЫЛКА НА СТРАНИЦУ">ПУНКТ МЕНЮ</a></li> <---- В меню навигации справа (в конце)

  </ul>

</div>

  • +1 2
Link to comment
Share on other sites

Подскажите пожалуйста, как сделать чтобы кнопки оставались нажатыми? Категории остаются нажатыми, а ссылки - нет. Например, ссылка на главную. Догадываюсь что в Хедере нужно прописывать условия php, мол, if там и else, как для категорий, но с языком не знаком, поэтому и проблема.

Link to comment
Share on other sites


  • 1 month later...

Вот 2 дня ищу найти не могу, подскажите

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

Количество категорий не хватает чтобы растянуть стилями и перекинуть на другую строку.

Вообщем как сделать так:

1            2                    3                      4  

1,1        2.1                  3.1                   4.2 

1.2        2.2                  3.2                    4.3

 

Чтобы они не центрировались по центру, а центровались от левого края, и были не в скрытом меню а были постоянно видны как и основные ссылки

Вообщем нужна типа таблица, но не совсем она.....

Тема по умолчанию 

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

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.