Диапазон рейтинга для "хороших" топиков. Решено
Собственно, пытаюсь задать диапазон рейтинга для топика, при котором он будет попадать в раздел «хорошие» (коллективные блоги).
Рою здесь вот так:
Но, естественно, таким образом получается пересечение в «Хороших» и «Плохих» топиках. Подскажите, как задать ограниченные диапазона от 0 До Config::Get('module.blog.collective_good') в «хороших» топиках (коллективные блоги).
Решение. в топик маппер дописал:
в топик класс:
в конфиг:
Рою здесь вот так:
public function GetTopicsCollective($iPage,$iPerPage,$sShowType='good') {
$aFilter=array(
'blog_type' => array(
'open',
),
'topic_publish' => 1,
);
switch ($sShowType) {
case 'good':
$aFilter['topic_rating']=array(
'value' => '0',
'type' => 'down',
);
break;
case 'bad':
$aFilter['topic_rating']=array(
'value' => Config::Get('module.blog.collective_good'),
'type' => 'down',
);
Но, естественно, таким образом получается пересечение в «Хороших» и «Плохих» топиках. Подскажите, как задать ограниченные диапазона от 0 До Config::Get('module.blog.collective_good') в «хороших» топиках (коллективные блоги).
Решение. в топик маппер дописал:
if ($aFilter['topic_rating']['type']=='between') {
$sWhere.=" AND ( t.topic_rating < ".(float)$aFilter['topic_rating']['value']." AND ( t.topic_rating >= ".(float)$aFilter['topic_rating']['value_bottom']." ) ) ";
}
в топик класс:
ublic function GetTopicsCollective($iPage,$iPerPage,$sShowType='good') {
$aFilter=array(
'blog_type' => array(
'open',
),
'topic_publish' => 1,
);
switch ($sShowType) {
case 'good':
$aFilter['topic_rating']=array(
'value' => Config::Get('module.blog.collective_good_top_value'),
'value_bottom' => Config::Get('module.blog.collective_good'),
'type' => 'between',
);
break;
case 'bad':
$aFilter['topic_rating']=array(
'value' => Config::Get('module.blog.collective_good'),
'type' => 'down',
);
в конфиг:
$config['module']['blog']['collective_good_top_value'] = 0; // рейтинг топика в коллективных, выше которого(не включительно) он не выводится в хороших коллективных топиках
2 комментария