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

Как вывести количество новостей по доп.полю?


     13.10.2016    Все вопросы » Общие вопросы    531

вопрос
Всем привет. Подскажите пожалуйста, возможно ли сделать доп.поле(список) в виде меню, чтобы при клике открывались все новости с тем значением, по которому кликнули? А также требуется напротив каждого элемента вывести количество новостей , имеющих это значение доп.поля.

Ответа пока нет


4 комментария

ravchik
Юзер

ravchik - 13 октября 2016 17:44 -

могу помочь, напишите в личку

PunPun
Эксперт

PunPun - 13 октября 2016 19:46 -

<?PHP
/*
=====================================================
Count Field News
-----------------------------------------------------
Автор : Gameer
-----------------------------------------------------
Site : http://gameer.name/
-----------------------------------------------------
Copyright (c) 2016 Gameer
=====================================================
Данный код защищен авторскими правами
*/
defined("DATALIFEENGINE") || die("Hack");

$allow_cache = ($config['version_id'] >= '10.2') ? $config['allow_cache'] == '1' : $config['allow_cache'] == "yes";
$is_change = false;
if (!$allow_cache) // если кэш не включен включаем принудительно
{
    if ($config['version_id'] >= '10.2')
        $config['allow_cache'] = '1';
    else
        $config['allow_cache'] = "yes";
    $is_change = true;
}

if(!function_exists('clean_string'))
{
    function clean_string($db, $value)
    {
        return $db->safesql(trim(strip_tags(stripslashes($value))));
    }
}
$xfield = clean_string($db, $xfield);
$value = clean_string($db, $value);

$news_cfn = false;
$news_cfn = dle_cache( "news_cfn" , $config['skin'] . $xfield . $value); // подгружаем из кэша
if($news_cfn)
{
    echo $news_cfn;
    exit;
}
if($config["version_id"] < '11.0')
{
    $count = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE xfields LIKE '%{$xfield}|{$value}%'");
    $count["count"] = ($count["count"] > 0) ? intval($count["count"]) : 0;
    echo $count["count"];
}
else
{
    $count = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_xfsearch WHERE tagname='{$xfield}' AND tagvalue='{$value}'");
    $count["count"] = ($count["count"] > 0) ? intval($count["count"]) : 0;
    echo $count["count"];
}
create_cache( "news_cfn", $count["count"], $config['skin'] . $xfield . $value, true);
if($is_change)
    $config['allow_cache'] = false;    

Истина в противоречии.​

Nigativ
Юзер

Nigativ - 13 октября 2016 21:46 -

Я не совсем разбираюсь. Куда мне это нужно прописать?

Nigativ
Юзер

Nigativ - 14 октября 2016 17:51 -

Тема закрыта!
Огромное спасибо ravchik'у!!!

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх