Posted 27 мая, 20159 yr comment_87934 Всем привет! Существует Стандартный Блок "Последние записи", который выводит настраиваемое количество записей из Блогов.Хотелось бы добавить в них миниатюру изображения к примеру как желает это Google+ когда публикуешь ссылку на тот же Блог. Такая вот идея. Может кому-то понравится и возьмется за реализацию. Edited 29 мая, 20159 yr by AUS
27 мая, 20159 yr Author comment_87948 Как то так: Миниатюра должна создаваться из первого фото в этой статье.
29 мая, 20159 yr Author comment_88047 Думаю проще будет не менять стандартный Блок, а сделать html код (или быть может php) и вывести с помощью этого плагина: Edited 29 мая, 20159 yr by AUS
29 мая, 20159 yr Author comment_88051 Готов заплатить 10$ за разработку. А если кому интересно можете добавлять свои предложения
2 июня, 20159 yr comment_88207 Смотрел - знаний моих не хватает определить переменную. В 3.4 IP.Content содержал список всех доступных переменных для блока, такой функционал в 4.0 ещё не реализовали, и не знаю реализуют ли вообще.
2 июня, 20159 yr comment_88209 Смотрел - знаний моих не хватает определить переменную. В 3.4 IP.Content содержал список всех доступных переменных для блока, такой функционал в 4.0 ещё не реализовали, и не знаю реализуют ли вообще. Там явно нет переменной с первой картинкой записи в блоге. Нужно из текста регуляркой вытаскивать. Да и у ТС не вижу на форуме Контента.
2 июня, 20159 yr Author comment_88210 Значит нужно делать скрипт, как я понимаю. Ведь к примеру вставляю url в vk или Google+ они находят изображение и добавляют его. Edited 2 июня, 20159 yr by AUS
2 июня, 20159 yr comment_88213 Значит нужно делать скрипт, как я понимаю. Ведь к примеру вставляю url в vk или Google+ они находят изображение и добавляют его. У гугла свои алгоритмы. Он почти все сам делает.
19 июня, 20159 yr Author comment_89248 У гугла свои алгоритмы. Он почти все сам делает. Это понятно, но тот же VK умеет так же, взять картинку и первый абзац текста.
30 июня, 20168 yr Author comment_109270 3 минуты назад, Respected сказал: Скрины побились, посмотреть бы как сейчас и как нужно Сейчас данный виджет выглядит вот так: Если взять ссылку на одну из записей Блога и вставить её в VK по получится так: А мне нужен некий симбиоз для виджета - примерно вот так что бы выглядело:
30 июня, 20168 yr Author comment_109272 Я так понимаю механизм oEmbeded надо использовать: https://habrahabr.ru/post/141303/
30 июня, 20168 yr comment_109281 2 часа назад, Respected сказал: Посмотрю ближе к вечеру Я также буду очень благодарен, так как искал такое для себя
30 июня, 20168 yr comment_109293 10 часов назад, AUS сказал: Я так понимаю механизм oEmbeded надо использовать: https://habrahabr.ru/post/141303/ Перейдите в шаблон blog → front → entry → entryRow и после {{if $orientation == 'horizontal'}} ставьте следующее: {{$content = new \DOMDocument;}} {{$content->loadHTML( $entry->content() );}} {{$src = $content->getElementsByTagName('img')->item(0)->getAttribute('src');}} {{\IPS\Output::i()->parseFileObjectUrls( $src );}} <a class="ipsAttachLink ipsAttachLink_image" href="{$src}" rel="external nofollow noopener noreferrer" target="_blank" style="display: block; max-width: 400px;" data-ipslightbox><img src="{$src}" class="ipsImage ipsImage_thumbnailed"></a> Данный код отобразит самую первую картинку из каждой записи блога. За ширину картинки отвечает число 400.
1 июля, 20168 yr Author comment_109304 @cpt_z3qo вставил код, сохранил, удалил виджет и добавил заново - ни чего не изменилось код получился таким <li class='ipsDataItem'> <div class='ipsDataItem_icon ipsPos_top'> {template="userPhoto" app="core" params="$entry->author(), 'tiny'" group="global"} </div> <div class='ipsDataItem_main'> <a href="{$entry->url('getLastComment')}" title='{lang="view_this_entry" sprintf="$entry->_title"}' class='ipsType_medium ipsType_break'>{wordbreak="$entry->name"}</a><br> <span class='ipsType_blendLinks ipsType_light ipsType_medium ipsType_break ipsContained'>{lang="byline_nodate" htmlsprintf="$entry->author()->link()"} {lang="in"} <a href='{$entry->container()->url()}' class='ipsType_blendLinks'>{$entry->container()->_title}</a></span> {{if \IPS\Settings::i()->blog_enable_rating}} {template="rating" group="global" location="front" app="core" params="'small', $entry->averageRating(), 5, $entry->memberRating()"} {{endif}} <span class='ipsType_medium ipsType_reset'>{{if !$entry->num_comments}}<span class='ipsType_light'>{{endif}}<i class='fa fa-comment'></i> {number="$entry->num_comments"}{{if !$entry->num_comments}}</span>{{endif}}</span> {{if $orientation == 'horizontal'}} {{$content = new \DOMDocument;}} {{$content->loadHTML( $entry->content() );}} {{$src = $content->getElementsByTagName('img')->item(0)->getAttribute('src');}} {{\IPS\Output::i()->parseFileObjectUrls( $src );}} <a class="ipsAttachLink ipsAttachLink_image" href="{$src}" rel="external nofollow noopener noreferrer" target="_blank" style="display: block; max-width: 400px;" data-ipslightbox><img src="{$src}" class="ipsImage ipsImage_thumbnailed"></a> <div class='ipsType_medium ipsType_richText ipsType_break' data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='2 lines'> {$entry->truncated()|raw} </div> {{endif}} </div> </li> Сори но у меня путь к шаблону немного другой: blog - front - widgets - entryRow Edited 1 июля, 20168 yr by AUS
1 июля, 20168 yr Author comment_109305 Уточните пожалуйста - ваш код работает только если виджет в подвале или в шапке, а если сбоку вертикально? UPDATE: всё догадался, вставил код выше {{if $orientation == 'horizontal'}} и тогда в горизонтальном виджете отобразятся картинки Edited 1 июля, 20168 yr by AUS
1 июля, 20168 yr Author comment_109306 Пока эксперементировал с кодом понял обнаружил проблему - смыйлы воспринимаются за изображение и выдаются в качестве первого рисунка Надо как-то исключить смайлы или брать последнюю картинку а не первую. Ваш код @cpt_z3qo я вставил после строчки <a href="{$entry->url('getLastComment')}" title='{lang="view_this_entry" sprintf="$entry->_title"}' class='ipsType_medium ipsType_break'>{wordbreak="$entry->name"}</a><br> и получил во такую картинку:
1 июля, 20168 yr comment_109307 2 часа назад, AUS сказал: Пока эксперементировал с кодом понял обнаружил проблему - смыйлы воспринимаются за изображение и выдаются в качестве первого рисунка Надо как-то исключить смайлы или брать последнюю картинку а не первую. Ваш код @cpt_z3qo я вставил после строчки <a href="{$entry->url('getLastComment')}" title='{lang="view_this_entry" sprintf="$entry->_title"}' class='ipsType_medium ipsType_break'>{wordbreak="$entry->name"}</a><br> и получил во такую картинку: Я извиняюсь, но этой не мой код. мне подсказал администратор запрещённый_сайт.ru 1 час назад, cpt_z3qo сказал: Я извиняюсь, но этой не мой код. мне подсказал администратор запрещённый_сайт.ru "одного сайта "
1 июля, 20168 yr Author comment_109308 34 минут назад, cpt_z3qo сказал: Я извиняюсь, но этой не мой код. мне подсказал администратор запрещённый_сайт.ru "одного сайта " Быть может тут кто-то подскажет
5 июля, 20168 yr Author comment_109490 Предложили такой обработчик что бы исключить смайлы, но что он не завелся {{$content = new \DOMDocument;}} {{$content->loadHTML( $entry->content() );}} {{ $keep_going = true; $index_item = 0; while($keep_going){ $src = $content->getElementsByTagName('img')->item($index_item)->getAttribute('src'); $image = imagecreatefromstring($src); $w = imagesx($image); $h = imagesy($image); if ($w>25 && $h>25) $keep_going = false; $index_item++; } }} {{\IPS\Output::i()->parseFileObjectUrls( $src );}} <a class="ipsAttachLink ipsAttachLink_image" href="{$src}" rel="external nofollow noopener noreferrer" target="_blank" style="display: block; max-width: 223px;" data-ipslightbox><img src="{$src}" class="ipsImage ipsImage_thumbnailed"></a>
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.