Помощь Помогите довести до ума модуль news2cat

Тема в разделе "DLE", создана пользователем AndreyKR, 5 ноя 2009.

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

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

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

    AndreyKR Постоялец

    Регистр.:
    31 авг 2007
    Сообщения:
    110
    Симпатии:
    3
    Ребята, есть модуль news2cat (модуль представляет только 1 файл с минимумом кода), суть его: выводит новости из определённой категории в любое место на сайте с картинками, названием и текстом описания.
    Вот пимер:
    [​IMG]
    Вот код:
    Пример на сайте:
    http://muzmax.net/alternative/ (правые 5 блоков, протестируйте в Хроме или Файрфокс там этот мод почему-то делает шрифт в левых колонках ЖИРНЫМ, а в Опере нормально, глюки какие-то )
    Задача: исправить глюки связанные с кривизной вывода текста новости и иногда картинок. Чтобы выводилось только картинка и название новости и кликабельное слово скачать. Ну и конечно чтобы всё нормальновыводилось на разных броузерах.
    Оплата: победителю бонус 10WMZ + выложим доработанный модуль в паблик для всех людей!
    Связь в ЛС или в ICQ
     
    HolyWanderer нравится это.
  2. HolyWanderer

    HolyWanderer

    Регистр.:
    23 июл 2008
    Сообщения:
    187
    Симпатии:
    95
    меня также интересует такой вывод новостей, но только без превьюшек и слова "скачать". Тупо списком, но с определенной категории.
     
  3. AndreyKR

    AndreyKR Постоялец

    Регистр.:
    31 авг 2007
    Сообщения:
    110
    Симпатии:
    3
    HolyWanderer, это можно сделать с помошью стандартных функций DLE! Пиши в icq расскажу как!
     
    HolyWanderer нравится это.
  4. nigga12

    nigga12 Создатель

    Регистр.:
    10 апр 2009
    Сообщения:
    25
    Симпатии:
    6
    Код придётся дописывать если хотите видеть сколько кликнуло юзеров на этот альбом

    и на счёт скачать вот это редактируй
    HTML:
    <a href='/index.php?newsid=$t'><b>Скачать</b></a>
     
  5. AndreyKR

    AndreyKR Постоялец

    Регистр.:
    31 авг 2007
    Сообщения:
    110
    Симпатии:
    3
    nigga12, а как сделать чтобы описание новости не выводилось?
     
  6. nigga12

    nigga12 Создатель

    Регистр.:
    10 апр 2009
    Сообщения:
    25
    Симпатии:
    6
    PHP:
    if (strlen($row['short_story']) > 0)
                   
    $text substr ($row['short_story'], 0300)."<a href='/$nid/$t-$ln.html'><a/>";
    вот это должно быть ;)
    Эти 2 строки связанны с текстом
     
  7. AndreyKR

    AndreyKR Постоялец

    Регистр.:
    31 авг 2007
    Сообщения:
    110
    Симпатии:
    3
    Ребята, помогите довести этот модуль до ума...

    Поднимаю бонус победителю 15$
     
  8. PoMaH

    PoMaH

    Регистр.:
    8 июн 2006
    Сообщения:
    753
    Симпатии:
    142
    Надеюсь ты пожертвуешь больше...

    Код позволит выводить из заданой категории н количество новостей с возможностью задать количесто и отступ (LIMIT from, to)
    работает написав в шаблон в нужном месте {include file="engine/modules/fm_news_1.php"}
    есть возможность задавать категорию через инклуд файл ?news_kat=ID_KATEGORIJI

    Легко настройть конкретный вывод для конкретных категорий, все можно сделать в одном файле

    Вывод формируется с уникальным css для каждого блока (можно вынести код css в свой css файл)

    и многое другое.


    Версия 0,1 (полу автоматическая настройка для разных категорий + css)

    Код:
    <?php
    if(!defined('DATALIFEENGINE')) { die("Opps"); }
    //nastroiki
    //Nazvanije dokumenta fm_news_1.php
    
    //Kategorija
    $f_cat['n'] = 1;
    
    //Limit novostei OT
    $f_cat['ot'] = 0;
    //Limit novostei DO
    $f_cat['do'] = 10;
    
    //Sablon vyvoda bloka..
    $f_cat['tmp'] = "
    <div class=\"blok blok_id_{_ID_}\">
    <div class=\"blok_foto\">{_IMG_}</div>
    <div class=\"blok_title\">{_TITLE_}</div>
    <div class=\"blok_link\"><a href=\"/?newsid={_NEWS_ID_}\">Далее</a></div>
    </div>
    
    ";
    //
    $f_cat['css_tmp'] = "
    <style><!--
    #blok_cat_id__CAT_ID_ {}
    .blok {display: block; padding-bottom: 10px; clear: both; }
    .blok_foto { width: 60px; height: 60px; overflow: hidden; padding-right: 10px; float: left; }
    .blok_foto IMG {
    width: 50px;
    padding: 5px;
    border: 0px;
    }
    .blok_txt {}
    .blok_title { font-size: 130%; }
    .blok_link { font-weight: bold; }
    .blok_link a:link { color: red; }
    .blok_link a:hover { color: pink; }
    
    //-->
    </style>
    ";
    
    //ne pravit`... dalshe liniji === !!!
    //Pomahac@gmail.com
    //# ===============================================================================================
    
    //ver 0.1
    
    //dle 8.3 dlia nastroiki cerez {include file="engine/modules/fm_news_1.php?news_kat=ID_KATEGORIJI"}
    $f_cat['n'] = intval($news_kat) > 0 ? intval($news_kat) : intval($f_cat['n']);
    //
    
    $f_cat['do'] = intval($f_cat['do'] > 0) ? intval($f_cat['do']) : 10;
    $f_cat['ot'] = intval($f_cat['ot'] <= 0) ? 0 : intval($f_cat['ot']);
    
    
    if (!function_exists(frimen_get_img)) {
    function frimen_get_img($content){
    preg_match("#<img.*src=[\"'](\S+?)['\"](.+?)>#i", $content, $fm_smart_img);
    return $fm_smart_img['1'];
    }
    }
    
    $news_blok = dle_cache("news_blok-".$f_cat['n'], $config['skin']);
    if (!$news_blok) {
    $db->query("SELECT id, title, date, alt_name, autor, short_story, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND category = '".$f_cat['n']."' ORDER BY date DESC LIMIT ".$f_cat['ot'].",".$f_cat['do']."");
    $fm_d_id=0;
    while ($row = $db->get_array()) {
    $blok_txt = $fm_cto = $fm_kuda = "";
    $fm_d_id++;
    
    $fm_alt_name = $row['alt_name'];
    $fm_cat_id = $row['category'];
    $fm_news_id = $row['id'];
    $fm_title = stripslashes($row['title']);
    $fm_txt = stripslashes($row['short_story']);
    
    $fm_img = frimen_get_img($fm_txt);
    if ($fm_img) {
    $fm_img_r[0] = $fm_img;
    $fm_img_r[1] = "<img src=\"".$fm_img."\" class=\"blok_img\">";
    } else {
    $fm_img_r = array("","");
    }
    
    $fm_cto = array(
    '{_ID_}', '{_IMG_}', '{_IMGSRC_}', '{_TXT_}', '{_TITLE_}', '{_ALT_NAME_}', '{_NEWS_ID_}', '{_CAT_ID_}',
    );
    $fm_kuda = array(
    $fm_d_id, $fm_img_r[1], $fm_img_r[0], $fm_txt, $fm_title, $fm_alt_name, $fm_news_id, $fm_cat_id,
    );
    
    $blok_txt = str_replace($fm_cto, $fm_kuda, $f_cat['tmp']);
    $news_blok .= $blok_txt;
    }
    $db->free();
    create_cache ("news_blok-".$f_cat['n'], $news_blok, $config['skin']);
    }
    
    //zakomentirovat nizniuju 1 strocku jesli ne nuzen css (jesli jego skopirovali v osnovnoi css)
    echo str_replace("_CAT_ID_", $f_cat['n'], $f_cat['css_tmp']);
    
    echo "<div id=\"blok_cat_id_".$f_cat['n']."\">";
    echo $news_blok;
    echo "</div>";
    
    //Pabaiga...
    ?>
    
    хайд станет меньше после выполнения условий соглашения и с просьбой снижения для других

    [​IMG]
     
  9. AndreyKR

    AndreyKR Постоялец

    Регистр.:
    31 авг 2007
    Сообщения:
    110
    Симпатии:
    3
    Бонус нашёл своего обладателя!
    Огромнейшее Спасибо Роману за отличный мод!
    Тема закрыта!
     
  10. Kiosaki

    Kiosaki

    Регистр.:
    20 мар 2009
    Сообщения:
    175
    Симпатии:
    12
    Блин, классная вещь.

    В свободный доступ не выложите?
    Если нет - то как можно его получить?
     
Статус темы:
Закрыта.