» » Выводим дополнительные поля в похожих новостях или немного о новых возможностях модуля Block.Pro.2

Выводим дополнительные поля в похожих новостях или немного о новых возможностях модуля Block.Pro.2

3.01
32
18 512
Сегодня я расскажу вам, как легко и непринужденно можно кастомизировать вывод похожих новостей на своём любимом сайте.

Предупреждаю сразу: владельцам говнохостингов не стоит читать эту статью, так же как и не стоит злоупотреблять возможностями самого модуля Block.Pro.2.
Хоть модуль и кеширует блоки, от кривых рук защиты пока не существует.



Итак


Обычно похожие новости на сайте выглядят вот так:
Выводим дополнительные поля в похожих новостях или немного о новых возможностях модуля Block.Pro.2

Как то это не очень смотрится в движке, позиционирующемся как новостной, не правда ли?

Сегодня мы сделаем из этого безобразия вот такой вот вид:

Выводим дополнительные поля в похожих новостях или немного о новых возможностях модуля Block.Pro.2


Так гораздо нагляднее неправда ли? И это только простой пример вывода.

Ну а теперь обо всём по порядку



Что имеем:
1. Четыре дополнительных поля - картинка, и три "метки" (наличие видео, фото и аудио в новости), которые должны выводиться в похожих новостях. При этом картинка должна уменьшаться до размеров 50х50px.
2. Нужно вывести дату.
3. Нужно вывести количество комментариев к новости.

Приступим:

1. Идём в админку и отключаем вывод похожих новостей на сайте.
2. Заливаем файл block.pro.2.php в папку engine/modules/ При этом не забываем создать в папке uploads папку blockpro, выставив на неё CHMOD 777
3. Открываем файл engine/modules/show.full.php находим:
if( $config['related_news'] ) {

и ВЫШЕ вставляем:
/*Block.Pro - relatednews*/
        $block_id = 'related_'.$row['id']; //Не трогать!
        $relatedpro = "1"; //Не трогать!
        $template="relatednews"; // Имя шаблона (можно менять)
        $img_xfield = "image"; //Имя дополнительного поля, из которого будет браться картинка для уменьшения
        $img_size = "50x50"; //Размер уменьшенной копии картинки
        $news_num = 5; //Количество новостей
        include_once ENGINE_DIR . '/modules/block.pro.2.php';
        /*Block.Pro - relatednews*/


3. Открываем файл relatednews.tpl и пишем туда вот это:
<li>
    <div class="rel-img"><img src="[xfgiven_image][xfvalue_image][/xfgiven_image][xfnotgiven_image]{THEME}/images/noimage.png[/xfnotgiven_image]" width="50" height="50" alt="Выводим дополнительные поля в похожих новостях или немного о новых возможностях модуля Block.Pro.2" /></div>
    <div class="rel-text">
        <p><span class="rel-date">{date=d.m.Y}</span> <a href="{full-link}">{title limit="50"}</a> (<span title="комментарии">{comm_num}</span>)</p>
        <p>{text limit="100"}</p>
        [xfgiven_add_video]<span class="video">Есть видео</span>[/xfgiven_add_video]
        [xfgiven_add_foto] <span class="foto">Есть фото</span> [/xfgiven_add_foto]
        [xfgiven_add_audio] <span class="audio">Есть аудио</span> [/xfgiven_add_audio]
    </div>
</li>

Дополнительные поля приведены из моего движка, поэтому меняем их на свои.
ВАЖНО: в дополнительном поле с картинкой должна лежать только прямая ссылка на изображение.

4. Открываем css-файл и в конец дописываем:
.related ul li { 
    background: none;
    padding: 5px 0;
    position: relative;
    }    
  
.related ul li:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
    }
      .related ul li {
        display: inline-block;
        }    
        html[xmlns] .related ul li {
            display: block;
            }        
        * html .related ul li {
            height: 1%;
            }  
.related ul li p {
    margin: 0;
    }  
    .rel-img {
        float: left;
        padding: 3px;
        border: solid 1px #c0d4de;    
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        border-radius: 3px;
        margin: 3px 10px 0 0;
        }    
    .rel-text {
        overflow: hidden;
        }    
        .rel-date {
            font: italic normal 12px Georgia, "Times New Roman", serif;    
            color: #708893;    
            text-shadow: 1px 1px 0 #fff;
            }
        .foto, .video, .audio {
            color: #fff;
            display: inline-block;
            margin-top: 5px;
            -webkit-border-radius: 3px;
            -moz-border-radius: 3px;
            border-radius: 3px;
            padding: 1px 3px;
            }  
            .foto {background: #9966cc;}
            .video {    background: #6d4595;}
            .audio {    background: #596368;}


CSS-код написан для "причесывания" внешнего вида блока, не более того.

5. Чистим кеш сайта и наслаждаемся результатом.

ВНИМАНИЕ!

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


ВНИМАНИЕ!

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

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

Комментарии

kibal4ish
kibal4ish 7 января 2012 03:41
Пафнутий, а можно ли реализовать такую функцию, чтобы блок показывал предыдущие 5 новостей категории от определенной новости?

к примеру в определенную категорию я добавил новость номер 25 и блок показывал бы новости 24-20, а в новости под номером 15 показывались бы новости 14-10?
ПафНутиЙ
ПафНутиЙ 7 января 2012 18:50
Нет. И если честно не понимаю смысла подобного вывода новостей.
kibal4ish
kibal4ish 7 января 2012 20:49
внутренняя перелинковка новостей
ПафНутиЙ
ПафНутиЙ 7 января 2012 21:20
В принципе это несложно, но мне признаться лень это делать.
Я не против, если ктото возмёт модуль и доточит его до требуемого функционала, не удаляя при этом моё авторство )))
OKyJIucT
OKyJIucT 25 января 2012 13:51
Не отображается дата в похожих новостях, вместо нее идет тег {date=d.m.Y}, пробовал уже и {date}, проблема не решается. Не подскажите навскидку, в чем может быть дело? Спасибо
Самое интересное, при работе модуля Block Pro 2.3 эти теги работают нормально, а проблема именно в похожих новостях.
ПафНутиЙ
ПафНутиЙ 25 января 2012 17:31
Вывод похожих новостей в движке отключите.
pavel587
pavel587 25 января 2012 22:56
3. Открываем файл engine/modules/show.full.php находим:
if( $config['related_news'] ) {


У меня на dle 9.5 прописано так: if( $config['related_news']
ПафНутиЙ
ПафНутиЙ 25 января 2012 22:59
И что это меняет?
pavel587
pavel587 26 января 2012 19:05
Ну дальше идет: AND $view_template != "print" ) {
А у вас: ) {
Кстати ещё такая проблема, установил модуль, но вылетает ошибка если в новости есть картинка: Not Supported File! Thumbnails can only be made from .jpg, gif and .png images! В чём тут дело, ведь картинка то в формате jpg.
ПафНутиЙ
ПафНутиЙ 26 января 2012 21:33
В dle9.5 введен шаблон для страниц для печати, отсюда и строка дополнилась.

По вашей проблеме ничего не могу пояснить, слишком много всяких может быть, если и возможно.
danilchuk88
danilchuk88 16 февраля 2012 18:15
Включение обработки картинок, это строка - $img_size = "50x50"; ? Правильно ли я понимаю, если убрать эту строку, то обработки не будет, а будет только браться картинка из доп. поля, и это уменьшит нагрузку на сервер? Или обработку нужно выключить еще и в самом модуле BlockPro?
ПафНутиЙ
ПафНутиЙ 16 февраля 2012 19:16
нет.
для вывода оригинальной картинки из допполя достаточно убрать $img_xfield = "image";
danilchuk88
danilchuk88 16 февраля 2012 20:03
Спасибо, понял.
А как выключить обработку картинки в самом модуле, че там удалить? просто для другого блока картинка обрезается, а мне это не нужно
danilchuk88
danilchuk88 16 февраля 2012 20:15
Все, сам разобрался
kiosaki
kiosaki 26 марта 2012 15:49
А есть картинки\постеры не в доп. полях?
ПафНутиЙ
ПафНутиЙ 26 марта 2012 16:29
понятия не имею, есть ли у вас картинки/постеры не в допполях wink
Mr. Hyde
Mr. Hyde 29 марта 2012 16:13
Думаю, он имел ввиду, можно ли вывести картинку/постер не с допп поля, а с короткой или полной новости.
drugoi
drugoi 1 декабря 2012 02:45
ПафНутиЙ, а не подскажете — как сделать такие доп.поля? Хочу сделать что-то типа такого, но вывод иконок, а не текста. Помогите, пожалуйста. Заранее — спасибо.
ПафНутиЙ
ПафНутиЙ 1 декабря 2012 08:55
Ну так замените в шаблоне текст на иконки и будут иконки.
512GHz
512GHz 2 февраля 2013 19:48
У меня почему-то выводятся лишь теги :(
http://clip2net.com/s/2MJwN

Код немножко переписан.
     $block_id = 'related_'.$row['id']; //Не трогать!
        $relatedpro = "1"; //Не трогать!
        $template="relatednews"; // Имя шаблона (можно менять)
        $img_xfield = "image"; //Имя дополнительного поля, из которого будет браться картинка для уменьшения
        $img_size = "50x50"; //Размер уменьшенной копии картинки
        $news_num = 3; //Количество новостей 
        include_once ENGINE_DIR . '/modules/block.pro.3.php';
ПафНутиЙ
ПафНутиЙ 2 февраля 2013 20:58
block.pro.3 не выводит похожие новости. Используйте вторую версию модуля.
512GHz
512GHz 2 февраля 2013 20:58
Проблему частично решил.. Адрес у последней версии другой.. Но стало хуже...
http://clip2net.com/s/2MKwp
ПафНутиЙ
ПафНутиЙ 2 февраля 2013 21:02
А сам модуль актуальной версии, скачивали откуда?
512GHz
512GHz 2 февраля 2013 21:30
С вашего сайта. Окей, а по поводу использования второго. Как я понял, в силу того что подключается именно определённый файл, то я могу использовать вторую версию для этой плюшки, а третью - для всего остального, конфликтов быть не должно, верно?
P.S. Спасибо вам огромное! :)
ПафНутиЙ
ПафНутиЙ 2 февраля 2013 21:31
да, конфликтов не должно быть, я когда сравнивал нагрузку от модулей, они стояли вместе и выводили одну и ту же информацию.
512GHz
512GHz 2 февраля 2013 21:37
Спасибо большое. Буду пробовать.
P.S. А почему сей плюшка не была добавлена в третью версию?
512GHz
512GHz 2 февраля 2013 21:49
http://clip2net.com/s/2MLhl Могу предположить что либо модуль не хочет работать на 9.8. Либо у меня руки кривые... С инструкцией сверился, дважды. sad
ПафНутиЙ
ПафНутиЙ 3 февраля 2013 11:55
Возможно не работает, нужно проверять. Если будет время - проверю.
512GHz
512GHz 4 февраля 2013 12:14
Спасибо... Вот ещё какая проблема, не могу разобраться с какими тегами работает block.pro3?
ПафНутиЙ
ПафНутиЙ 4 февраля 2013 12:49
Все теги, который поддерживает модуль прописаны в шаблоне, идущем в комплекте.
Позже сделаю список доступных тегов на странице документации.

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

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

Информация

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