Там вроде добавлял таблицу cms_content_cats (поля item_id, сategory_id, ordering) и вносились изменения в код в model.php в /components/content и др.файлах.
Работает. Размещает и выводит одну статью в нескольких категориях.
Но сейчас столкнулся с тем, что по-видимому неправильно работает функция:
public function getArticlesCount($only_published=true) { if ($only_published){ $this->where("con.published = 1 AND con.pubdate <= '$today' AND (con.is_end=0 OR (con.is_end=1 AND con.enddate >= '$today'))"); } $sql = "SELECT 1 FROM cms_content con WHERE con.is_arhive = 0 {$this->where} {$this->group_by} {$this->order_by}\n"; $result = $this->inDB->query($sql); return $this->inDB->num_rows($result); }
$total = $model->getArticlesCount(); — не получает правильное значение $total
и далее $pagebar = cmsPage::getPagebar($total, $page, $perpage, $pagelink); — не формирует разбивку на страницы, если статей больше чем $perpage, так как получает значение $total меньшее чем нужно.
Изменения в функции GetArticles там были такие:
было
$sql = "SELECT con.*, con.pubdate as fpubdate, u.nickname as author, u.login as user_login FROM cms_content con LEFT JOIN cms_users u ON u.id = con.user_id WHERE con.category_id = '$category_id' AND con.published = 1 AND con.is_arhive = 0 AND con.pubdate <= '$today' AND (con.is_end=0 OR (con.is_end=1 AND con.enddate >= '$today')) ORDER BY con.".$orderby." ".$orderto." LIMIT ".(($page-1)*$perpage).", $perpage";
$sql = "SELECT con.*, con.pubdate AS fpubdate, u.nickname AS author, u.login AS user_login FROM cms_content con LEFT JOIN cms_content_cats cat ON con.id = cat.item_id LEFT JOIN cms_users u ON con.user_id = u.id WHERE con.published = 1 AND con.is_arhive = 0 AND (con.is_end=0 OR (con.is_end=1 AND con.enddate >= '$today' AND con.pubdate <= '$today')) AND (con.category_id=$category_id OR cat.category_id =$category_id) GROUP BY con.id ORDER BY con.".$orderby." ".$orderto." LIMIT ".(($page-1)*$perpage).", $perpage";
Вот нужно и в getArticlesCount как-то учесть и те статьи, указанные в таблице cms_content_cats, для которых эта категория не является основной.
Прошу помочь, готов работу оплатить WebMoney.