Решение для версии 1.9: Статья сразу в нескольких разделах
Допустим, есть вложенное меню
Добавляем мы статью "салат греческий" в раздел "салаты". Логично при этом чтобы она отображалась также в разделах "Еда" и "Первое".
Как решил эту проблему я: не добавлением статьи в несколько категорий, но выводом её анонса в родительской категории, если статья есть в одной из вложенных.
Добавляем рядом с
функцию
Второй: /components/content/frontend.php
Находим "Условия" (около 108 строки) и комментируем строку:
добавляем после неё
для 3 и больше уровней вложенных категорий, скопируйте блок //2 уровень
Решение для 1.10
Преамбула:
Актуальная проблема (1 из веток instantcms.ru/forum/thread11911.html): разместить статью сразу в нескольких разделах.Допустим, есть вложенное меню
Еда -Первое --Салаты
Как решил эту проблему я: не добавлением статьи в несколько категорий, но выводом её анонса в родительской категории, если статья есть в одной из вложенных.
Экшн:
Правим 2 файла. Первый: /components/content/model.phpДобавляем рядом с
/** * Условия выборки */
public function whereCatIn($category_ids) { $this->inDB->where("con.category_id IN (".$category_ids.")"); //условие выборки статьи из перечисленных категорий }
Находим "Условия" (около 108 строки) и комментируем строку:
// Условия //$model->whereCatIs($cat['id']);
//!---связи //1 уровень $sql1 = "SELECT id FROM cms_category WHERE parent_id = '".(int)$cat['id']."'"; $result1 = $inDB->query($sql1); $innercats=(int)$cat['id']; //исходно показываем только в одной категории if ($inDB->num_rows($result1)) { while($innercat1 = $inDB->fetch_assoc($result1)){ $innercats = $innercats.", ".(int)$innercat1['id']; } } //2 уровень $sql2 = "SELECT id FROM cms_category WHERE parent_id IN($innercats)"; $result2 = $inDB->query($sql2); if ($inDB->num_rows($result2)) { while($innercat2 = $inDB->fetch_assoc($result2)){ $innercats = $innercats.", ".(int)$innercat2['id']; } } //!--- $model->whereCatIn($innercats);
Реклама #
Endroid 11 лет назад #
ermakover 11 лет назад #
Anonim 11 лет назад #
Cruzka 11 лет назад #
Петр 10 лет назад #
IRIP 7 лет назад #
IRIP 7 лет назад #
Dim@sik 11 лет назад #
SeoNick 10 лет назад #