Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как создать подкатегории с одинаковыми url?

Как создать подкатегории с одинаковыми url?


     11.03.2018    Общие вопросы, Общие вопросы по PHP    218

вопрос
Проблема в том, что хочется привести структуру сайта к одному виду:
dle-faq.ru/cat1/drama/
dle-faq.ru/cat2/drama/

Но DLE не дает создать категории с одинаковыми url.

Можно ли это как-нибудь осуществить на свежей DLE 12.1?

Ответил: Sander


Нет.
Существующая схема организации категорий не позволяет реализовать подобное.

При работе движок берет строку:
/cat2/drama/

Убирает слеши по бокам и разбивает строку по тем же слешам, получаем массив
['cat', 'drama']

Не важно какого уровня вложенности категория, берется только последний элемент массива
drama

Остальные данные строки игнорируются.

UPD. Автор вопроса нашел хак для решения задачи.
В принципе вроде как работает, но полноценно не тестировал.
Хотя функцию из той инструкции я бы иначе написал:
function get_ID($cat_info, $category, $parent = 0, $level = 0) {
	$category = explode('/', trim($_GET['category'], '/'));
	foreach ($cat_info as $v) {
		if ($v['parentid'] == $parent && $v['alt_name'] == $category[$level]) {
			if ($id = get_ID($cat_info, '', $v['id'], $level+1)) {
				return $id;
			} else {
				return $v['id'];
			}
		}
	}
	return false;
}

1 комментарий

Kerncraft1
Юзер

Kerncraft1 - 12 марта 2018 10:02 -

Можно так сделать. На 12 и 12.1 проверял - https://idteam.info/blog/7-kategorii-s-odinakovymi-nazvaniyami-v-dle.html

P.S. не заметил, что ссылку уже привели. От себя добавлю, что работает отлично, главное не забыть выполнить рекомендации в статье по правке кэширования.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх