Скрываем закрытые блоги из общего списка
Итак, у нас на сайте есть открытые и закрытые блоги. Появилось много желающих скрывать их из общего списка.
Сейчас общий список выглядит так: localhost/blogs/
Задача убрать закрытый блог из списка.
За отображение блогов в общем списке отвечает функция GetBlogsRating, значит нам нужно немного изменить запрос и добавить в исключение блоги у которых тип установлен как close (закрытые).
проследуем classes\modules\blog\mapper\Blog.mapper.class.php
и найдем запрос:
в запросе есть исключение (кроме персональных (type personal))
вот и допишем еще и закрытые
и всё.
В результате будет вот так:
Сейчас общий список выглядит так: localhost/blogs/
Задача убрать закрытый блог из списка.
За отображение блогов в общем списке отвечает функция GetBlogsRating, значит нам нужно немного изменить запрос и добавить в исключение блоги у которых тип установлен как close (закрытые).
проследуем classes\modules\blog\mapper\Blog.mapper.class.php
и найдем запрос:
public function GetBlogsRating(&$iCount,$iCurrPage,$iPerPage) {
$sql = "SELECT
b.blog_id
FROM
".Config::Get('db.table.blog')." as b
WHERE
b.blog_type<>'personal'
ORDER by b.blog_rating desc
LIMIT ?d, ?d ";
$aReturn=array();
if ($aRows=$this->oDb->selectPage($iCount,$sql,($iCurrPage-1)*$iPerPage, $iPerPage)) {
foreach ($aRows as $aRow) {
$aReturn[]=$aRow['blog_id'];
}
}
return $aReturn;
}
в запросе есть исключение (кроме персональных (type personal))
WHERE
b.blog_type<>'personal'
вот и допишем еще и закрытые
WHERE
b.blog_type<>'personal'
and
b.blog_type<>'close'
и всё.
В результате будет вот так:
public function GetBlogsRating(&$iCount,$iCurrPage,$iPerPage) {
$sql = "SELECT
b.blog_id
FROM
".Config::Get('db.table.blog')." as b
WHERE
b.blog_type<>'personal'
and
b.blog_type<>'close'
ORDER by b.blog_rating desc
LIMIT ?d, ?d ";
$aReturn=array();
if ($aRows=$this->oDb->selectPage($iCount,$sql,($iCurrPage-1)*$iPerPage, $iPerPage)) {
foreach ($aRows as $aRow) {
$aReturn[]=$aRow['blog_id'];
}
}
return $aReturn;
}
7 комментариев
Соответственно, если блог закрытый, то не выводить его.
Или я чего недопонял?
Может решение такое лучше через плагин делать…
В общем, я к тому вел, что лишний раз править файлы ядра не очень как-то. При обновлениях это все аукнется ;)
Можно и в плагин запихнуть с переопределением функции.