Решение для 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);