Ищу [ищу] хак вывода количества новостей

Тема в разделе "DLE", создана пользователем skyman, 5 авг 2008.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. skyman

    skyman Постоялец

    Регистр.:
    21 июн 2007
    Сообщения:
    127
    Симпатии:
    24
    Не могу через поиск найти...
    В общем ищу хак, который через переменную выводит количество новостей в подкатегории. (на главной)
     
  2. REZER

    REZER Постоялец

    Регистр.:
    28 май 2008
    Сообщения:
    60
    Симпатии:
    37
    Объясни поподробней. Я так понял тебе нужно чтобы на странице было столько новостей сколько ты вписал, или как..?
     
  3. gentoouser

    gentoouser

    Регистр.:
    8 окт 2007
    Сообщения:
    187
    Симпатии:
    63
    я думаю нет. он хочет автоматически выводить список категорий и подкатегорий + количество новостей в них.

    тебе подойдёт category block
    Перейти по ссылке
     
  4. skyman

    skyman Постоялец

    Регистр.:
    21 июн 2007
    Сообщения:
    127
    Симпатии:
    24
    Мне нужно просто переменной, выводить количество новостей.
    Например — боевики {news_numm}, драммы {news_numm}
    и выводило их: боевики (25), драммы (18).
     
  5. merder

    merder Постоялец

    Регистр.:
    27 янв 2007
    Сообщения:
    87
    Симпатии:
    15
    Вариант не самый лучший если у Вас много категорий, т.к. будет большое кол-ко запросов к БД. Но для малого кол-ва нагрузка на сервер будет приемлимой.

    Итак создаем файл в папке engine/modules
    В моем случае он называется num_cat.php


    PHP:
    <?php
    if (!defined('DATALIFEENGINE'))
    {
        die (
    "Hacking attempt!");
    }
    $tpl->load_template('num_cat.tpl');
    $map1 dle_cache ("sitemap"$config['skin']);
    if(!
    $map) {
    $map1 "";

    foreach(
    $cat_info as $val)
    {

        
    $map1 .= "<a href='".$config['http_home_url']."category/".$val['alt_name']."/'  class='link'; align='left'; '>$val[name]</a>\n";
        
    $cat intval($val[id]);
        
    $result $db->query("SELECT COUNT(*) as count FROM "PREFIX ."_post WHERE category = '$cat' ORDER BY title ASC");
        while (
    $row $db->get_row($result))
            
    $map1 .= '('.$row['count'].')<br />';
    }
    }
    $tpl->result['num_cat'] = $map1;
    $tpl->clear();
    ?>



    Далее открываем index.php и после


    PHP:
    $tpl->set('{speedbar}'$tpl->result['speedbar']);
    Прописываем

    PHP:
    $tpl->set('{num_cat}'$tpl->result['num_cat']);

    Открываем файл engine/init.php и в самом конце перед ?> вставляем


    PHP:
    include_once ENGINE_DIR.'/modules/num_cat.php';
    И теперь приступаем к шаблонам. Создаем файл templates/num_cat.tpl у меня он такого содержания


    HTML:
    
    <table width="100%" cellpadding="0" cellspacing="0" border="0">
                                      <tr>
                                        <td align="left">
                                        <span class="category"><strong>{num_cat}</strong></span>
                                        </td>
                                      </tr>
                                    </table>

    Ну и теперь в нужном месте шаблона главной страницы вставляем
    Код {num_cat}
     
    zetaap, shoma, DeaDMoroZ и 3 другим нравится это.
  6. skyman

    skyman Постоялец

    Регистр.:
    21 июн 2007
    Сообщения:
    127
    Симпатии:
    24
    merder, спасибо большое, но как его переделать, чтобы переменная выводила только номер, определенной категории. Например {num_cat="1"} где 1 — ID категории.

    А то мне на сайте нужно вывод количества новостей, только для 3-4 категорий.
     
  7. gentoouser

    gentoouser

    Регистр.:
    8 окт 2007
    Сообщения:
    187
    Симпатии:
    63
    поменяй

    PHP:
    foreach($cat_info as $val


        
    $map1 .= "<a href='".$config['http_home_url']."category/".$val['alt_name']."/'  class='link'; align='left'; '>$val[name]</a>\n"
        
    $cat intval($val[id]); 
        
    $result $db->query("SELECT COUNT(*) as count FROM "PREFIX ."_post WHERE category = '$cat' ORDER BY title ASC"); 
        while (
    $row $db->get_row($result)) 
            
    $map1 .= '('.$row['count'].')<br />'
    }
    на

    PHP:
    foreach($cat_info as $val

    if (
    $val==1) OR ($val==1) {
        
    $map1 .= "<a href='".$config['http_home_url']."category/".$val['alt_name']."/'  class='link'; align='left'; '>$val[name]</a>\n"
        
    $cat intval($val[id]); 
        
    $result $db->query("SELECT COUNT(*) as count FROM "PREFIX ."_post WHERE category = '$cat' ORDER BY title ASC"); 
        while (
    $row $db->get_row($result)) 
            
    $map1 .= '('.$row['count'].')<br />';
    }
    }
    ($val==1) OR ($val==1)

    тут впишешь id нужных тебе категорий
     
  8. PoMaH

    PoMaH

    Регистр.:
    8 июн 2006
    Сообщения:
    753
    Симпатии:
    142
    Dobav` cache, i sekonomish na resursah
     
  9. gentoouser

    gentoouser

    Регистр.:
    8 окт 2007
    Сообщения:
    187
    Симпатии:
    63
    так он есть

    $map1 = dle_cache ("sitemap", $config['skin']);
    if(!$map) {
     
  10. skyman

    skyman Постоялец

    Регистр.:
    21 июн 2007
    Сообщения:
    127
    Симпатии:
    24
    gentoouser выдает ошибку
    Parse error: syntax error, unexpected T_LOGICAL_OR in modules\num_cat.php on line 13
    т.е. на этой строчке
    if ($val==1) OR ($val==1) {
    как исправить?

    и ещё ($val==1) OR ($val==1) , т.е. заместь единицы вписать нужные категории?
    и какой будет сама переменная для вывода новости, например из третьей категории?
    Мне только нужно, чтобы переменная выводила цыфру, без названия категории.
     
Статус темы:
Закрыта.