Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы по вёрстке » Как вывести изображение при нужном рейтинге новости?

Как вывести изображение при нужном рейтинге новости?


     Общие вопросы по вёрстке, Хаки    1529

вопрос
Как вывести изображение при нужном рейтинге новости?
Например если новость набрала 20 лайков, то на главной странице в краткой новости будет звездочка (изображение).
Немогу найти как это осуществить. Стандарта я так понял пока еще нет у ДЛЕ.

Ответил: PunPun


1. Открываем /engine/modules/show.full.php , show.short.php , show.custom.php находим
if( $row['allow_rate'] ) {
Выше вставляем :
if( strpos( $tpl->copy_template, "[rateif" ) !== false)
{
    $tpl->copy_template = preg_replace_callback("'\\[rateif:(.*?):(.*?)\\](.*?)\\[/rateif\\]'is", function($matches) use ($row)
    {
        $check = trim(stripslashes($matches[2]));
        switch($check)
        {
            case ">":
                    if(intval($matches[1]) > $row['rating']) return $matches[3];
                    else return "";
                break;
            case ">=":
                    if(intval($matches[1]) >= $row['rating']) return $matches[3];
                    else return "";
                break;
            case "<":
                    
                    if(intval($matches[1]) < $row['rating']) return $matches[3];
                    else return "";
                break;
            case "<=":
                    if(intval($matches[1]) <= $row['rating']) return $matches[3];
                    else return "";
                break;
        }
    } , $tpl->copy_template);
}

2. В краткой, полной и шаблонах для тега custom пишем
[rateif:число рейтинга:знак равенства]текст любой[/rateif]
К примеру :
[rateif:20:<]{image-1}[/rateif]
- выведет ссылку на первую картинку если рейтинг больше 20
[rateif:20:<=]{image-1}[/rateif]
- выведет ссылку на первую картинку если рейтинг больше или равен 20
[rateif:20:>]{image-1}[/rateif]
- выведет ссылку на первую картинку если рейтинг меньше 20
[rateif:20:>=]{image-1}[/rateif]
- выведет ссылку на первую картинку если рейтинг меньше или равен 20

1 комментарий

andros0705
Юзер

andros0705 - -

Спасибо родной!

Похожие вопросы

наверх