Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Заменяем меню каталога на статьи


Recommended Posts

В первый раз занимаюсь сайтом, ни каких конкретных познаний в программировании нет.

Задался вопросом убрать каталог из меню. Сам каталог разместить на всех страницах слева. А в меню поместить новости, доставку, и т.д. через статьи. Что получилось

post-706777-0-64117300-1455478343_thumb.png

 

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

 

Как делал:

\catalog\view\theme\default\template\common\header.tpl

<?php // if ($categories) { ?>
<div class="container">
  <nav id="menu" class="navbar">
    <div class="navbar-header"><span id="category" class="visible-xs">Название блока для мобилы</span>
      <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button>
    </div>
    <div class="collapse navbar-collapse navbar-ex1-collapse">
      <ul class="nav navbar-nav">
	
            <li><a href="http://-test/">О нас</a></li>
            <li><a href="http://-test/">Доставка</a></li>
            <li><a href="http://-test/">Новости</a></li>
            <li><a href="http://-test/">Статьи</a></li>
              
	  <?php foreach ($informations as $information) { ?>
          <li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li>
       <?php } ?>
      </ul>
    </div>
  </nav>
</div>
<?php // } ?>
Надіслати
Поділитися на інших сайтах


Разобрался, вроде по человечески, надеюсь кому поможет.

Для версии 2.1.0.2

post-706777-0-62266300-1455561945_thumb.png post-706777-0-98657100-1455561949_thumb.png

\catalog\controller\common\header.php

перед if (file_exists(DIR_TEMPLATE

$this->load->language('module/information');

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

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

		$this->load->model('catalog/information');

		$data['informations'] = array();

		foreach ($this->model_catalog_information->getInformations() as $result) {
			$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 class="container">
  <nav id="menu" class="navbar">
    <div class="navbar-header"><span id="category" class="visible-xs"><?php echo $text_category; ?></span>
      <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button>
    </div>
    <div class="collapse navbar-collapse navbar-ex1-collapse">
      <ul class="nav navbar-nav">
        <?php foreach ($categories as $category) { ?>
        <?php if ($category['children']) { ?>
        <li class="dropdown"><a href="<?php echo $category['href']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $category['name']; ?></a>
          <div class="dropdown-menu">
            <div class="dropdown-inner">
              <?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?>
              <ul class="list-unstyled">
                <?php foreach ($children as $child) { ?>
                <li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li>
                <?php } ?>
              </ul>
              <?php } ?>
            </div>
            <a href="<?php echo $category['href']; ?>" class="see-all"><?php echo $text_all; ?> <?php echo $category['name']; ?></a> </div>
        </li>
        <?php } else { ?>
        <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
        <?php } ?>
        <?php } ?>
      </ul>
    </div>
  </nav>
</div>
<?php } ?>

Вставляем

<div class="container">
  <nav id="menu" class="navbar">
    
    <div class="collapse navbar-collapse navbar-ex1-collapse">
      <ul class="nav navbar-nav">
     <?php foreach ($informations as $information) { ?>
            <li>
                <a href="<?php echo $information['href']; ?>">
				<?php echo $information['title']; ?></a>
            </li>
        <?php } ?>
      </ul>
    </div>
  </nav>
</div>
Змінено користувачем KyJIJIep
Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах


Долго до меня доходило что требуется сделать... Я просто еще не выводил модуль информация на сайт.

Как вывел, понял техническое задание.

Итак. Имеем статьи "Так1", "Так2", "Так3"

Статье Так1 - порядок сортировки не назначен либо значение более 0,+1,.... Статья отображается в меню информация и главном меню

Статье Так2 - порядок сортировки назначен -1 Статься отображается только в главном меню

Статье Так3 - порядок сортировки назначен -2 Статься отображается только в меню информация

post-706777-0-99651700-1455569124_thumb.png

 

Лезем в \catalog\controller\module\information.php и в место

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

вставляем

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

Далее идем в catalog\controller\common\header.php и перед if (file_exists(DIR_TEMPLAT вставляем

$this->load->language('module/information');

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

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

		$this->load->model('catalog/information');

		$data['informations'] = array();

			foreach ($this->model_catalog_information->getInformations() as $result) {
		if ($result['sort_order'] != '-2') {
				$data['informations'][] = array(
	        			'title' => $result['title'],
		    			'href'  => $this->url->link('information/information', 'information_id=' . $result['information_id'])
	      			);
	    		}
		}
Надіслати
Поділитися на інших сайтах


Помогите разобраться. Вообщем пытаюсь скопировать модуль информации. Что бы один оставить как есть, а второй привязать к главному меню. В админке вывел кнопку, перехожу на неё и вижу:

Notice: Error: Table 'xxxx.oc_inform' doesn't exist
Error No: 1146
SELECT COUNT(*) AS total FROM oc_inform in Z:\home\xxxx\www\system\library\db\mysqli.php on line 41Notice: Trying to get property of non-object in Z:\home\xxxx\www\admin\model\catalog\inform.php on line 192Notice: Error: Table 'xxxx.oc_inform' doesn't exist
Error No: 1146
SELECT * FROM oc_inform i LEFT JOIN oc_inform_description id ON (i.inform_id = id.inform_id) WHERE id.language_id = '1' ORDER BY id.title ASC LIMIT 0,20 in Z:\home\xxxx\www\system\library\db\mysqli.php on line 41Notice: Trying to get property of non-object in Z:\home\xxxx\www\admin\model\catalog\inform.php on line 130Warning: Invalid argument supplied for foreach() in Z:\home\xxxx\www\admin\controller\catalog\inform.php on line 174

я так понял что таблица данных не создается и не могу понять что нужно сделать... прописать её в msql? как? или проблема в самой таблице? Таблицы стандартные www\admin\controller\catalog\information.php и \www\admin\model\catalog\information.php, сделал копии и изменил information на inform

 

 

Надіслати
Поділитися на інших сайтах


Таблицу oc_inform кто будет создавать?

Надіслати
Поділитися на інших сайтах

Получилось таки продублировать модуль.

post-706777-0-23181400-1455813527_thumb.pngpost-706777-0-24186700-1455813539_thumb.png

Основная заминка оказалась в oc_inform. После создания которой посыпались еще ошибки, но постепенно их устраняя все получилось.

 

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

 

Надіслати
Поділитися на інших сайтах


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

Так же сейчас могу отдельно вывести статьи в любой шаблон установить любую последовательность.

 

ЗЫ я первый раз сайтом занимаюсь, неделю назад вообще не знал такие расширения как tpl php css

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

 

Увидел на сайте "Блог" это модуль или вручную?

Змінено користувачем KyJIJIep
Надіслати
Поділитися на інших сайтах


Подскажите как можно изменить расположение текста/блока/картинки. Вот у меня сейчас проблема, перенес поиск в главное меню и корзина уехала к логотипу, как по человечески вернуть её не место, что бы она была по правой стороне. Через CSS(отступ) получилось, но если я добавляю после логотипа еще какой либо модуль/текст то приходится заново отступ высчитывать.

Надіслати
Поділитися на інших сайтах


Увидел на сайте "Блог" это модуль или вручную?

Если это ко мне вопрос.Это встроенный в сборку раздел новостей.Все что на демке будет по умолчанию.

99a390a4bd07.png

 

Если первый раз сайтом занимаешься (как и я) может посмотреть в сторону бесплатной версии (средняя) ? Тот же опенкарт только с кучей полезных вещей.

http://opencart.pro/overview/

Змінено користувачем kors06
Надіслати
Поділитися на інших сайтах


Подскажите как можно изменить расположение текста/блока/картинки. Вот у меня сейчас проблема, перенес поиск в главное меню и корзина уехала к логотипу, как по человечески вернуть её не место, что бы она была по правой стороне. Через CSS(отступ) получилось, но если я добавляю после логотипа еще какой либо модуль/текст то приходится заново отступ высчитывать.

Если нужен спец, найди в скайпе SaVage4Pro (он есть на том же форуме, по ссылке выше, здесь нельзя прямые ссылки указать).Зовут Александр.В две минуты может сделать.

Если сам то http://htmlbook.ru/css и F12 в помощь  :-)

Надіслати
Поділитися на інших сайтах


Не совсем понял, а чем это

 отличается от вашего ?

eeb187dd3225.png

Подробнее глянул. А где настройка что каталог в меню выводит категорию товара(к примеру Дополнения), а в общем каталоге слева она не отображается, я такой функции не нашел(у меня в каталоге слева отображаются все разделы каталога, к примеру Дополнения то же бы было видно), по этому и начал издеваться с главным меню.

 

Если это ко мне вопрос.Это встроенный в сборку раздел новостей.Все что на демке будет по умолчанию.

99a390a4bd07.png

 

Если первый раз сайтом занимаешься (как и я) может посмотреть в сторону бесплатной версии (средняя) ? Тот же опенкарт только с кучей полезных вещей.

http://opencart.pro/overview/

Спасибо, не видел данную сборку.

Как раз вчера все снес к чертям и начал заново делать.

Надіслати
Поділитися на інших сайтах


Подробнее глянул. А где настройка что каталог в меню выводит категорию товара(к примеру Дополнения), а в общем каталоге слева она не отображается, я такой функции не нашел(у меня в каталоге слева отображаются все разделы каталога, к примеру Дополнения то же бы было видно), по этому и начал издеваться с главным меню.

 

Спасибо, не видел данную сборку.

Как раз вчера все снес к чертям и начал заново делать.

Здесь, можно любое меню создать

http://cms.opencart.pro/admin

demo

demo

 

6202d37be41e.png

 

А вообще посмотри на платную версию, пока копейки стоит, ее плюсы там же описаны.И по подходу людей видно что впереди будет красота :-)

Змінено користувачем kors06
Надіслати
Поділитися на інших сайтах


Спасибо.

 

ЗЫ

Мда... неделю убил, а тут все готово, но не жалею.

Так я сначала и не понял, к чему такие муки :-)

Змінено користувачем kors06
Надіслати
Поділитися на інших сайтах


  • 5 months later...

 

Долго до меня доходило что требуется сделать... Я просто еще не выводил модуль информация на сайт.

Как вывел, понял техническое задание.

Итак. Имеем статьи "Так1", "Так2", "Так3"

Статье Так1 - порядок сортировки не назначен либо значение более 0,+1,.... Статья отображается в меню информация и главном меню

Статье Так2 - порядок сортировки назначен -1 Статься отображается только в главном меню

Статье Так3 - порядок сортировки назначен -2 Статься отображается только в меню информация

attachicon.gifmenu.png

 

Лезем в \catalog\controller\module\information.php и в место

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

вставляем

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

Далее идем в catalog\controller\common\header.php и перед if (file_exists(DIR_TEMPLAT вставляем

$this->load->language('module/information');

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

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

		$this->load->model('catalog/information');

		$data['informations'] = array();

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

Спасибо большое, очень помог ваш код. Но есть одна проблема этот код не учитывает мобильную версию, когда переделал горизонтальные категории на статьи, на телефоне каталог превратился в синию полоску без функционала. Буду очень благодарен если подскажите как доделать изменения что бы: на компьютерах вместо категорий были статьи, а на мобильных устройствах остался каталог!?

Надіслати
Поділитися на інших сайтах


  • 9 months later...

 

12 часов назад, passagir сказал:

в мобильной версии нет меню ((( синяя полоса

 

Должна быть ещё кнопка на этой полосе, по тапу на которую должно раскрываться меню. Этой кнопки нет?

Надіслати
Поділитися на інших сайтах


13 часов назад, passagir сказал:

никто не подскажет? в мобильной версии нет меню ((( синяя полоса

Если вы что-то делали с Горизонтальным меню, то учтите, что:

Главное меню ( Горизонтальное) на мобильных экранах сворачивается в полоску и по клику на кнопке раскрывается именно оно ( смотрите демо опенкарта)

А левый боковой блок в котором находится боковое меню категорий(которое отображается на внутренних страницах сайта) на мобильных вообще не показывается.

Дальнейшие ваши действия зависят от того, что вы делали ранее.

Надіслати
Поділитися на інших сайтах


  • 5 months later...

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

Надіслати
Поділитися на інших сайтах


  • 1 year later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.