Модуль [мод] Разбивка новостей на n-е колличество при условии

Тема в разделе "DLE", создана пользователем ufaclub, 10 ноя 2007.

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

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

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

    ufaclub

    Регистр.:
    1 май 2007
    Сообщения:
    394
    Симпатии:
    17
    нашел только для DLE 4.2 а у меня 6.3 (что в принципе не работает) так как там таких строчек в коде даже нет!

    так вопрос есть ли модули или хаки для разбивки короткий новостей на главной странице на 2-3 столбика?

    нашел только кат индекс..но он платный..((((

    Добавлено через 58 минут
    Итак создаём блок вывода всех категорий с кол-вом новостей в каждой... и что самое главное совсем без запросов laughing

    1. Открываем init.php, находим строчку:
    $result_cat = $db->query("SELECT * FROM " . PREFIX . "_category");

    и заменяем её на:
    $result_cat = $db->query("SELECT ".PREFIX."_category.id, name, ".PREFIX."_category.alt_name, icon, skin, COUNT(".PREFIX."_post.category) as post_count
    FROM ".PREFIX."_category LEFT JOIN ".PREFIX."_post ON ".PREFIX."_category.id = ".PREFIX."_post.category GROUP BY id");

    (вот таким вот макаром и избавляемся от запросов гыы) wink

    далее после:
    while($row = $db->get_row($result_cat)) {

    добавляем
    $cat_post[$row['id']] = $row['post_count'];


    2. Качаем маленький файлик вот отсюда, разархивируем и кладём его в /engine/modules/

    3. Подключаем новый файлик в index.php, открываем его:
    после
    include $root_path.'/engine/modules/title.php';

    вставляем
    require_once $root_path.'/engine/modules/category_block.php';


    после
    $tpl->set('{title}', $title_tag);

    вставляем
    $tpl->set('{category-block}', $category_block);


    4. Создаём блок категорйи в шаблоне и вставляем тег {category-block}

    Добавлено через 58 минут
    почему способ выше неможет работать на дле 6.3
     
  2. igramnet

    igramnet

    Регистр.:
    7 авг 2007
    Сообщения:
    280
    Симпатии:
    34
    Чем не устраивает модуль CatIndex ?
     
  3. ufaclub

    ufaclub

    Регистр.:
    1 май 2007
    Сообщения:
    394
    Симпатии:
    17
    а он есть бесплатный?
     
  4. igramnet

    igramnet

    Регистр.:
    7 авг 2007
    Сообщения:
    280
    Симпатии:
    34
    Автор пообещал выпустить бесплатную версию... Юзай поиск.
     
  5. vitlik_666

    vitlik_666 Постоялец

    Регистр.:
    28 мар 2007
    Сообщения:
    87
    Симпатии:
    23
    смотри здесь
    обещал бесплатный но урезаный!:-]
    и сказал что вближайшем будуище появится версия 2.0!
     
  6. vitlik_666

    vitlik_666 Постоялец

    Регистр.:
    28 мар 2007
    Сообщения:
    87
    Симпатии:
    23
    [​IMG]
    Модуль для DLE 6.3
    Модуль бесплатный
    Начальный автор: y0r1c
    Доделал для версии dle 6.3: GreenFest

    Данный модуль помогает вам выводить новости в несколько колонок смотря скока колонок вы указали смотрите скрины.

    Установим:

    Открываем файл /engine/modules/show.short.php


    Найти:


    if(!defined('DATALIFEENGINE'))
    {
    die("Hacking attempt!");
    }


    Ниже добавить:

    //Управ
    $columns = "2"; //Число колонок поставите 3 будут новости в 3 колонки.
    //Управ


    Далее найти:


    $news_c++;
    }

    $i++;


    Ниже пишим:


    if ($i % $columns == 0){
    $line_break = '</tr><tr>';
    } else {
    $line_break = '';
    }


    Далее ищем:


    '{rssdate}' => date("r", $row['date']),
    '{rssauthor}' => $row['autor'],


    Ниже вставляем:

    '{line-break}' => $line_break,


    Далее ищем:


    else $tpl->set_block("'[ hide ](.*?)[ /hide ]'si","<div class="quote">".$lang['news_regus']."</div>");

    $tpl->compile('content');
    }


    Ниже добавляем:

    $tpl->result['content'] = '<table><tr>'.$tpl->result['content'].'</tr></table>';


    Теперь открываем файл shortstory.tpl

    В самое начало файла пишим:

    <td valign="top">


    А в самый конец файла пишим:

    </td>
    {line-break}

     
    4mss нравится это.
Статус темы:
Закрыта.