Перейти к содержанию
AlexPancho

[РЕШЕНО] Категории по горизонтали в виде меню + уникальный id для каждого пункта

Рекомендуемые сообщения

Возможно ли в ОС сделать категории по горизонтали - вместо меню или само по себе типа:

: Телевизоры : Холодильники : Валенки : Яйца всмятку :

Ну и при нажатии категории попадаешь в менюху с подкатегориями\товарами

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А без плагинов? я тут читал тему по выводу номера телефона в шапке - и изменил по ней шаблон, вышло.

А можно ли подобным образом вывести категории? Напр. "категория1", "категория2"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если вы готовы прописать все меню руками (без автоматической генерации) то вот вам пример как сделать выпадающее меню на css пример меню

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот в этой теме - Как сделать выпадающее меню в шапке? в 17 сообщении я написал как добавить категории в хедер но всеравно стили Вам прийдется переписывать.

Можете использовать вариант отображения меню в теме,оно не совсем то которое Вам необходимо,но может понравится

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

итак, вернемся к нашим... меню

Категории формируются тут:

catalog\controller\module\category.php

вот так:

foreach ($results as $result) {	
			if (!$current_path) {
				$new_path = $result['category_id'];
			} else {
				$new_path = $current_path . '_' . $result['category_id'];
			}
			
			$output .= "<li>";
			
			$children = '';
вся сверхзадача сводится к тому, чобы для каждого элемента списка генерировался уникальный ИД, т.к. я в ПХП не асс, то вот такой вариант, не работает, хотя, как я понимаю - целюсь я в нужном направлении. (для ИД берем любую букву (слово) и числовое значение поля "порядок сортировки")

$output .= "<li id= mnu & $result['category_id']>";

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не прошло и года, зато сам дошел...

$output .= '<li id="mnu' . $result['category_id'] .'">';
таким образом задача построения меню с индивидуальным ИД решена раз и навсегда

---

Добавлю для еще более начинающих, чем я

что делать по пунктам

1. открыть файл ВАШ_САЙТ\catalog\controller\module\category.php

2. найти в нем строки

oreach ($results as $result) { 
                        if (!$current_path) {
                                $new_path = $result['category_id'];
                        } else {
                                $new_path = $current_path . '_' . $result['category_id'];
                        }
                        
                        $output .= "<li>";
3. Заменить строку $output .= "<li>"; на

$output .= '<li id="mnu' . $result['category_id'] .'">';
, где:

mnu - некие буквенные символы, вставляете всё что вам нравится (!латиница). ОБЯЗАТЕЛЬНО должен быть хотя-бо ОДИН буквенный символ (требование стандарта CSS)

category_id - идентификатор категории, можно узнать выделив категории и выбрав в меню "Посмотреть исходный код страницы"

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

4. С помощью CSS прописываете для своего меню любой вид. Как это сделать пример тут или вот тут

Изменено пользователем AlexPancho

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.