» » Block.Pro - расширенный вывод блоков с новостями для DLE

Block.Pro - расширенный вывод блоков с новостями для DLE

11.09
124
35 729
Block.Pro - расширенный вывод блоков с новостями для DLE




Представляю Вашему вниманию модуль для DLE - Block.Pro - расширенный вывод блоков с новостями.


Модуль является логическим продолжением выпущенного ранее Advanced Top и предназначен для вывода неограниченного числа блоков с новостями у себя на сайте.

Особенности модуля:


- Лёгкая установка модуля, подключение через include.
- Все настройки модуля являются необязательными, указываются непосредственно в строке подключения блока.
- Кеширование каждого блока в отдельный файл, картинки кашируются в отдельную папку.
- Произвольное количество блоков с топами, случайными новостями или последними новостями на страницах.
- Модуль не использует tpl шаблонов, что немного увеличивает скорость работы модуля.
- Три варианта вывода блока на выбор, выбор варианта вывода осуществляется в строке подключения.
- Оформление модуля производится через CSS.

Возможности модуля:


- Задание временного интервала для отбора новостей. Указывается в днях, от 1 до бесконечности.
- Отбор новостей из определённой категории/категорий. Отдельно настраивается для каждого блока.
- Произвольное количество новостей в каждом блоке.
- Количество символов в заголовке новости.
- Количество символов в новости (по умолчанию обрезка до конца слова т.е. в конце предложения будет не "прив...", а "привет...".
- Вывод значения из определённого дополнительного поля. Например можно вывести таким образом ссылку на картинку, или видео.
- Один из вариантов вывода блока специально доработан под вывод картинок из дополнительного поля.
- Возможность показа количества комментариев к новости.
- Вывод картинки из новости с указанием ширины и высоты (обрезается через crop).
- UPD 16.09.2011 Добавлена возможность задать исключаемые из вывода категории (bad_cat).
- UPD 16.09.2011 Добавлено пара примеров строк подключения модуля (для чайников).

Установка:


1. Копируем файл block.pro.php в папку /engine/modules/.
2. Создаём в папке /uploads/ папку blockpro и прописываем ей CHMOD 777
Это для картинок к новостям.
3. Подключаем модуль строкой
{include file="engine/modules/block.pro.php?&block_num=xxx"}

где xxx - уникальный для каждого блока идентификатор, цифры или буквы, разницы нет.

Всё готово!

Остальная нужная информация, как и в прошлом модуле, прокомментирована в файле модуля.

Жду мнений.


ВНИМАНИЕ!

Все обсуждения модуля теперь только в этой теме или на сайте blockpro.ru

Похожие материалы

Комментарии

ПафНутиЙ
ПафНутиЙ 18 сентября 2011 14:59
Strelok,
Я же говорил уже, что всё оформление модуля задаётся через css.
в css добавить:
.t_image {float: left; margin: 0 5px 5px 0;}



Petrovich,
Перед:
if(!is_numeric($day))                $day = 30;

добавляем:
if(!is_numeric($news_begin))        $news_begin = 0;

далее запрос:
$tb = $db->query("SELECT id, category, title, short_story, full_story, xfields, comm_num, date, flag, alt_name FROM ".PREFIX."_post WHERE approve {$show_cat} {$news_day} ORDER BY {$sort_var} LIMIT 0,".$news_num);

меняем на:
$tb = $db->query("SELECT id, category, title, short_story, full_story, xfields, comm_num, date, flag, alt_name FROM ".PREFIX."_post WHERE approve {$show_cat} {$news_day} ORDER BY {$sort_var} LIMIT ".$news_begin.",".$news_num);

а в строку подключения добавляем новый параметр: &news_begin=1
подключаем два блока, первый с одной новостью, второй с этим новым параметром. Не проверял, но должно работать.
Strelok
Strelok 18 сентября 2011 15:12
Спасибо огромное wink
Petrovich
Petrovich 18 сентября 2011 15:25
помогло. спасибо. уверен, что это будет нововведением в следующую версию =) Так держать!
ПафНутиЙ
ПафНутиЙ 18 сентября 2011 15:29
Да, думаю нужно будет добавить. В принципе полезная штука.
Petrovich
Petrovich 18 сентября 2011 15:42
еще вопрос (если не сложно...):
Добавил я в вариант 3 код '.date('d-m-Y',$news_date).' , по аналогии с вариантом 1. В результате получил значение: 01-01-1970
1) как исправить?
2) как вывести не только дату но и время?
ПафНутиЙ
ПафНутиЙ 18 сентября 2011 15:45
вот это не подскажу, я в принципе вывода даты не очень разбираюсь.... можете спросить на dle-faq.pro? может поможет кто.
Petrovich
Petrovich 18 сентября 2011 16:09
пасиб, написал, буду ждать пока опубликуют
Petrovich
Petrovich 18 сентября 2011 16:13
Разобрался - необходимо просто подключить еще вот это

$news_date = strtotime( $row['date'] );

а по поводу времени надо еще поколдовать
Petrovich
Petrovich 18 сентября 2011 17:06
опять разобрался =0

добавить нужно формат H:i:s, получится так:
'.date('d-m-Y H:i:s',$news_date).'
Toonik
Toonik 18 сентября 2011 18:31
чего то bad_cat не срабатывает. вариант со случайным выводом. прописано так.


    if(!is_string($top_cat))            $top_cat = "";                 
    if(!is_string($bad_cat))            $bad_cat = "42-43-45-46";

Я понимаю что здесь ошибиться сложно. Но все же.
ПафНутиЙ
ПафНутиЙ 18 сентября 2011 19:55
if(!is_string($top_cat))            $top_cat = "42-43-45-46";                
    if(!is_string($bad_cat))            $bad_cat = "y";

нужно указывать категории в top_cat
bad_cat просто превращает их из "хороших в плохие" )))
Toonik
Toonik 18 сентября 2011 20:30
забавность.
Вот теперь я коментарий в коде модуля понял )))

Спасибо )
Calius
Calius 20 сентября 2011 13:03
ПафНутий! Помоги пожалуйста решить задачу. Вот пример как хотим вывести боковой блок с лучшими записями. Необходимо чтобы картинка, титл и миниописания брались из дополнительных полей images, title, opis соответственно. Картинка вроде все путем вставляется, а вот описания и титл добавить через произвольное поле не получается.. :(

Надеюсь на твою помощь, так как альтернатив подобных не нашел.

Как надо:
http://imageshack.us/photo/my-images/37/64141182.jpg/
ПафНутиЙ
ПафНутиЙ 20 сентября 2011 22:10
Для эффективного решения вашей проблемы модуль надо переводить на шаблонную структуру, т.е. добавлять к нему tpl-файл.
Подумаю над этим, возможно реализую в следующей версии модуля.
Ещё попробуйте модуль S-Blocks от Sander`a, там помоему есть вывод допполей.
Calius
Calius 20 сентября 2011 22:20
Понятно, то есть сейчас вот в этих строчках нельзя вставить top_field и вывести произвольное поле? :( Ну жду обновления тогда с нетерпением, так как альтернатив решения задачи пока не нашел.


if ($variant == 3) {
        if($xf_t_val){$xf_img = '<div class="t_image"><img src="'.$xf_t_val.'" alt="'.$ttl.'" width="'.$t_img_w.'" height="'.$t_img_h.'" /></div>';} else {$xf_img = '<div class="t_image"><img src="{THEME}/images/nothumb.gif" alt="'.$ttl.'" width="'.$t_img_w.'" height="'.$t_img_h.'" /></div>';}
        $top_adv .= $xf_img.'<div class="t_news"><h5><a href="'.$t_link.'" title="'.$full_title.'">'.$t_title.'</a> '.$t_comm_num.'</h5><div class="t_story">'.$t_story.'</div></div>'; //Вариант для вывода картики из дополнительного поля.
    }


ПафНутиЙ
ПафНутиЙ 20 сентября 2011 22:27
Произвольное - можно, но только одно. Несколько - никак. Впринципе в индивидуальном порядке можно реализовать несколько и сейчас, но это немного топорное решение будет.
Calius
Calius 20 сентября 2011 22:31
Топорное в каком смысле? Если лишней нагрузки создавать не будет, то почему бы и нет. Вывод нескольких произвольных полей сделает этот блок по-настоящему универсальным !
Aper
Aper 21 сентября 2011 21:16
Zdrastvuyte Pafnuti,
Xachu sazdat blok, gde mojno uvidet paslednie novosti iz 12 kategoriy. Kagda ispolzuyu kod:
{custom category="12*kategorii" template="hserial" aviable="global" from="0" limit="12" cache="no"}
to bivaet chto iz odnoi kategorii vivodit 3 novosti a iz drugovo vaabshe ne vivodit, no summa vivodov ravno konechno 12. Mne prishlos Sdelat 12 {custom category=" "...}, s limitom (limit=1).
Vapros: Mojno li s pomoshu vashevo modulya realizavat to chto mne nujno no stavit tolko odin {include file="engine/modules/block.pro.php? ...
Spasibo
ПафНутиЙ
ПафНутиЙ 22 сентября 2011 06:41
Дело в том, что новости выводятся по дате добавления, и если в одну категорию добавилось сразу 12 новостей - что custom, что block.pro - будут одинаково выводить. Так что в вашем случаи - 12 блоков по 1 новости - самый лучший вариант решения, только ставье для custom cache="yes"
Heon
Heon 23 сентября 2011 13:11
Автор подскажи почему невыводит новости пишет постоянно

"По указанному критерию материалов нет"

Настроил примерно так.

ПафНутиЙ
ПафНутиЙ 23 сентября 2011 13:48
if(!is_numeric($day)) $day = 30; //Временной период для отбора новостей (дни). Например если нжно вывести новости за неделю - укажите 7? если указать ноль (0) то будут браться новости за всё время.
поставьте ноль сюда.
Heon
Heon 23 сентября 2011 14:47
Спасибо помогло,а возможно ли сделать свой шаблон для вывода новости,тоесть например оформить как в shortstory.tpl
ПафНутиЙ
ПафНутиЙ 23 сентября 2011 15:08
Я планирую вывести переменные в шаблон в новой версии модуля (хоть и немного нарушу принцип упрощения установки - будет не 1, а 2 файла), т.к. по другому никак не получится реализовать вывод нескольких допполей, что думаю для многих важно.
efr07
efr07 25 сентября 2011 03:08
А можно ли с помощью этого блока выводить похожие новости ?
bratoz
bratoz 25 сентября 2011 23:07
Для похожих есть свои хаки.
ПафНутиЙ
ПафНутиЙ 25 сентября 2011 23:41
Heon,
пока только правкой php, шаблоны будут в следующей версии модуля.

efr07,
нет, похожие новости лучше всего выводить хаком, т.к. они берутся дополнительным запросом, что в модуле будет означать +1 запрос к каждой новости, что ооочень не хорошо. Как уже ответил bratoz, есть отдельные хаки для этого.
efr07
efr07 28 сентября 2011 10:29
У меня при выводе пишет
Not Supported File! Thumbnails can only be made from .jpg, gif and .png images!
ПафНутиЙ
ПафНутиЙ 28 сентября 2011 10:31
картинки на удалённом сервере лежат, нужно что бы были на сайт загружены.
ddle.ru
ddle.ru 28 сентября 2011 12:42
Модуль офигенски крут, спасибо, давно искал такой
У меня проблема вот такая:
Вывожу
{include file="engine/modules/block.pro.php?&variant=1&title_length=30&img_show="yes"&t_img_w=80&t_img_h=90&$story_length=160&news_num=6&day=30"}

Выводится так

т.е. картинка, потом дата, потом тайтл, потом текст.
А мне надо так:

т.е. Тайтл, потом картинка, потом текст. Причем текст справа от картинки.

Помогите пожалуйста.
ddle.ru
ddle.ru 28 сентября 2011 13:19
еще у меня вопрос, если у меня на сайте вырезаны id из url то как сделать чтобы в модуле выводились новости без id

Добавить комментарий

Комментировать могут только зарегистрированные пользователи

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.