Плагин "Main Preview"


Плагин позволяет создавать превью изображения для топиков.
Возможна как ручная загрузка изображения, так и автоматическая на основе контента.
В плагине есть возможность запустить создание превью на основе ранее созданных топиков.

Варианты автоматической загрузки:
— на основе вставленного в текст изображения
— на основе вставленного в текст видео
— на основе топика фотосета

Вывод непосредственно превью в шаблоне необходимо делать самим. Т.е. это плагин только дает другим плагинам использовать возможности создания и вывода превью для топиков.
По умолчанию в конфиге плагина не заданы размеры превью. Они задаются вручную, либо другими плагинами.

Плагин добавляет в объект топика следующие методы:
getPreviewImageWebPath($sWidth=null)
возвращает полный веб-путь до изображения превью нужного размера
getPreviewImageOriginalWidth()
возвращает ширину оригинального изображения, из котрого было сделано превью
getPreviewImageOriginalHeight()
возвращает высоту оригинального изображения, из котрого было сделано превью
checkPreviewImageProportionSize($iW,$iH)
проверяет возможную доступность превью нужных размеров (проверка происходит по оригинальным размерам)

GitHub — github.com/livestreet/lsplugin-mainpreview

UPDATE
Версия 1.1:
  • Fix бага с отображением превью при редактировании топика. Теперь отображается превью первого размера из конфига
  • Возможность пересоздания превью новых размеров из ориганила, позволяет провести конвертацию при смене размеров

123 комментария

avatar
+1
надо еще добавить возможность вырезать выделенную область по типу как с аватаркой и фоткой, будет здорово!
avatar
Выбираю превюшку она тупо не грузится.
Надо что-то донастраивать?
avatar
Прочитай внимательно первый топик. Там написано
Вывод непосредственно превью в шаблоне необходимо делать самим.
avatar
Генерация превьюшек работает далеко не для всех топиков почему-то. Хотя настройки в порядке и размер изначальной картинки большой.
avatar
без конкретного примера не разобраться
avatar
Подскажите, пожалуйста, как вывести превьюшку в шаблоне? Если пишу getPreviewImageWebPath($sWidth=null) ругается смарти на "=", если getPreviewImageWebPath($sWidth) — выводится оригинал.
avatar
getPreviewImageWebPath(200)
avatar
Так не получается, имена файлов генерируются как 33ce177d09_635crop.jpg, а путь к изображению прописывается 33ce177d09_635.jpg.
avatar
getPreviewImageWebPath('635crop')
avatar
Спасибо!
avatar
Скажите, а как задавать размеры изображений другим плагином?
avatar
стандартно через Config::Set(...)
avatar
А можно «разжевать»? Обновляю «Слайдер» под 1,0, только это и осталось — решил в его конфиге сделать настройку размеров изображений и уперся в стенку…
avatar
Config::Set('plugin.mainpreview.size_images_preview',array_merge(Config::Get('plugin.mainpreview.size_images_preview'),array(
	array(
		'w' => 235,
		'h' => 180,
		'crop' => true,
	),
	array(
		'w' => 480,
		'h' => 380,
		'crop' => true,
	)
)));
avatar
Ок, спасибо. Еще вопрос: а как можно переменной присвоить ширину задаваемую здесь в конфиге, чтобы потом вывести изображения с помощью getPreviewImageWebPath($sWidth)?
avatar
Активировал плагин, вставил в шаблон
{$oTopic->getPreviewImageWebPath(100)}

Превью не выводится? Может я просто не понял чего то.
avatar
avatar
ок, сделал так
{$oTopic->getPreviewImageWebPath(100crop)}

и еще так
{$oTopic->getPreviewImageWebPath('100crop')}

Но ничего не появилось. Я отключил автосоздание превью, загружаю сам.
avatar
первый вариант правильный и должно выводится, посмотри в папке сосздаются ли вообще превьюхи нужного размера, бывает что и нет, сл-но и не выводится ничего
avatar
в uploads превьюх нету ) Мде… выходит ничего у меня не выйдет.
avatar
а почему превью не загружается, как вы думаете?
avatar
я зависимости не нашел — они то есть, то нет, отключал плагин, чистил кеши, включал, работало… но особо в тесты не вдавался
avatar
я уже и включал и выключал. И кэши чистил… складывается ощущение что плагин элементарно не работает. Хотя понимаю, что орт не мог выложить нерабочий плагин, но и ответа нет.
avatar
У меня так же не работает плагин, изображения почему то не загружаются. Изменял значение у {$oTopic->getPreviewImageWebPath()}.
avatar
Плагин для разработчиков. Читайте внимательно. Простому юзеру можно проходить мимо. Если есть немного денег, то можно купить плагин «Ajax loading previews for topic»
avatar
по идее, все должно работать, не было сказано, что плагин для разработчиков, было сказано, что превью выводим самостоятельно. Для вывода превью есть переменная, но ее вставка в шаблон ничего не дает. Никто не может дать мне развернутый ответ, а сжатые до меня не доходят.
avatar
ну если сжатые не доходят, то это еще раз подтверждает, что для разработчиков. плагин самого начала был рассчитан на них. если бы его планировал для простых юзеров, то написали, что и куда вставлять.
avatar
Подскажите пожалуйста, как сделать вывод превью в шаблоне?

В стандартном шаблоне synio, не знаю в какой .tpl вставить {$oTopic->getPreviewImageWebPath(325crop)}. В разные tpl пробовал, не получается.
avatar
и не получиться ибо вам лень читать первый топик, а так же readme
avatar
В файле topic_part_header.tpl Вставляйте код:
<img class="topic_preview" src="{$oTopic->getPreviewImageWebPath('635crop')}">

Допустим сразу после тега </h1>
В конфиге плагина укажите размер превью:
$config['size_images_preview']=array(
	
	array(
		'w' => 635,
		'h' => 169,
		'crop' => true,
	)
	
);
avatar
спасибо!
avatar
Спасибо! Превью стали загружаться, эх а вот сами изображения не выводятся)
avatar
все работает! спасибо a1ler`у, надо просто в конфиге раскомментировать код. блин, я реально чувствую себя ослом.
avatar
Чувак респект тебе!
avatar
Пытаюсь вывести превьюшку в header.tpl между тегами ... на странице топика. В дебаге не могу найти переменные, чтобы сделать условие: Показывать только на странице топика.

Сделал такое условие

{if $sAction == 'blog'}
   {$oTopic->getPreviewImageWebPath($sImageSizeWidth)}
{/if}


Но его оказалось недостаточно, выдает ошибку на странице коллективных блогов.
avatar
*между тегами
<head>...</head>


Подскажите как сделать?
avatar
Плагин обновлен до версии 1.1, список изменений в топике.
  • ort
  • +2
avatar
А чисто спортивный интерес. Подскажите зачем плагин сохраняет в свою папку кроме уменьшенного изображения, первоначальное? Типа вот тут лежит image_crop.png и просто image.png:
/www/test2.metal.by/uploads/topics/preview/00/00/00/01


Ещё если где-нибудь регулировка, чтобы поменять формат сохранения с PNG на JPG?
avatar
С расширениями разобрался, от изображения зависит. Что по первому пункту? Зачем на серваке оригинальное изображение превью, для пересчёта, если в будущем размер превью захочется сменить?
avatar
* Возможность пересоздания превью новых размеров из ориганила, позволяет провести конвертацию при смене размеров
avatar
Ну я так и думал. Отлично, спасибо. Я как понял ещё в конфиге настраивать несколько превью разных размеров одновременно, если несколько array с разными размерами добавить, да?
avatar
да
avatar
Ещё как замутить в шаблоне, чтобы на главной показывалось тест топика, но без изображения топика? Кто знает условие?
avatar
Уже не раз падал сайт. Если отключить и включить Плагин «Main Preview», то есть шанс выхватить:
Warning: Class 'PluginMainpreview_ModuleTopic_EntityTopic' not found in /home/u27170/asiamaniacs.ru/html/engine/classes/Engine.class.php on line 1105 Fatal error: Class 'PluginMainpreview_Inherit_ModuleTopic_EntityTopic' not found in /home/u27170/asiamaniacs.ru/html/plugins/mainpreview/classes/modules/topic/entity/Topic.entity.class.php on line 23
avatar
Это был ответ на мой вопрос? Не отключай, если падает)

Ребзя, как в Synio устроен вывод теста топика на главной странице с вырезкой изображений топика?
avatar
Кстати я пару раз у себя включил-выключил. Всё норм.
avatar
Тут я писал про это.
livestreet.ru/blog/12050.html
avatar
Я немного о другом спрашивал, как не выводить на главной картинки из топика. А не как не выводить превью в топике.
avatar
Там написано.
Но дам прямую наводку:
В шаблоне начиная с topic_topic.tpl
{$oTopic->getTextShort()}

заменить на
{$oTopic->getText()|strip_tags:true}
avatar
Отец, всё работает. Спасибо! (=

Кстати осталось теперь с твоей проблемой разобраться, как в топике превью не выводить. Мне тоже походу это надо. Это стопудов как-то просто делается. Надо какое-то условие типа «выводить только на главной».

Я сейчас ищу по шаблонам похожее.
avatar
Добавьте плиз в плаг возможность задавать alt превьюшкам.
avatar
А не подскажите как сделать так что бы он резал только в ширину?
avatar
ребята сорри конечно!!! но как настроить этот плагин? вот скачал, установил… дальше как? никак не могу настроить чтоб отображались на главном
  • izqi
  • 0
avatar
У меня есть 2 новых видов топика, подгружаемые плагином. В них при установке плагина появляется выбор превью, шаблон судя по файрбагу превью выводить должен, но пишет Подскажите пожалуйста, как мне реализовать к этим топикам вывод превью? Подозреваю что не подружается какой то хук. Заранее спасибо за ответ!
avatar
Парсер скушал теги. Вот что показывает файр баг в месте вывода превью:
<img class="topic_preview" src="">
avatar
<img class="topic_preview" src="{$oTopic->getPreviewImageWebPath('100crop')}">
avatar
Это стоит у меня в шаблоне и прекрасно выводится в обычном топике, но в новых, в уже скомпилированных страничках топика пишет
<img class="topic_preview" src="">
avatar
Лезьте в код плагина и там вставляйте нужную вам переменную.
avatar
Код плагина новых топиков подгружает стандартный topic_part_header.tpl, где и указана переменная, но увы, ничего не показывается.
avatar
Может в самом плагине Main preview, надо указать новые виды топика? Если так, подскажите пожалуйста, где именно?
avatar
Main preview без разницы какой вид топика. Лезьте в шаблон вывода новых типов топиков.
avatar
Спасибо! Буду копать.
avatar
кто нибудь подскажите как вообще установить этот плагин!!! по шаговую!!! ПЛИЗ Добрые люди
  • izqi
  • 0
avatar
А что не получается? Вверху все правильно написано, как установить.
avatar
вот именно, друг, не получается, я чайник пока что в этом деле!!! хелп ми дууде!!!
avatar
хочу научится настроить всё это, и купить пару шаблонов и множество плагинов
avatar
:D Дожили, что бы помогли человеки начинают угрожать покупкой шаблонов и плагинов :)))))
Купи что нибудь у меня, я помогу :D еще и пряниками угосчу :)))

livestreet.ru/blog/addons/11215.html#comment179795
отлично все отписано
avatar
сделал как пишет a1ter, не идет!!! ёпстудей!!! ну обьясните плииз!!!
avatar
Вот Инструкция: livestreet.ru/blog/12050.html
avatar
Вывожу превью, все нормально. Но имеется такой вопрос:
Если я не загружаю превью, то отображается надпись «изображение». Что прописать, чтобы этой надписи не было, когда пользователь не загрузил превью?
  • Rules
  • 0
avatar
Ну так с проверкой выводи, типа так:
{if $oTopic->getPreviewImageWebPath()}
	<img class="topic_preview" src="{$oTopic->getPreviewImageWebPath()}">
	{/if}
avatar
Спасибо! Не знал как прописать. Получилось)
avatar
Подскажите, как сделать диапозон рандомных высот для кропа? Например, чтобы при кропе изображений высота рандомно получалась от 120px до 240px?
avatar
avatar
Для дизайна надо, чтобы смотрелось не одинаково. Я с php не очень дружу. Можно сооринтироваться куда, что вписать правильно?
avatar
Немного занудства. Спросите себя «Это действительно нужно?», «Будет ли сайт без этого работать полноценно?». Начните с основного функционала, а дизайнерские изыски оставьте на десерт.
avatar
Да спрашивал уже, каждый раз так делаю, действительно это нужно. Для того, чтобы первый ряд новостей на смотрелся одинаковым. Напиши, если знаешь как сделать плиз.
avatar
Я понимю, если бы такой кроп чем-то вредил движку и вёл к несовместимости. Но минусов он никаких не создаёт. Как сделать только не понятно.
avatar
Чтобы картинки по высоте были разные?
avatar
Да-да, например, если грузишь одну и ту же картинку. Чтобы выдавало размеры типа 300x120, 300x130, 300x210, 300x170, 300x240 рандовно.

Но очень желательно, чтобы значения были кратными 10, например. Чтобы изображения вписывались в line-height дизайна.
avatar
Под размеры там вроде нет опции, но там можно просто отключить обрезку высоты картинок и тогда получится типа так:

avatar
Ну это я тоже думал этот вариант. Но вот в этом примере видно сверху справа новость, выложили видео. Намного лучше было бы, если бы кроп обрезал среднюю часть изображения, а так на главной изображения с полосками. Тоже самое новость про мотиватор, на главной мотиватор весь виден получается в новость можно уже не заходить. Вот такие мысли. В принципе поэтому и ищу способ сделать разную высоту для кропа.
avatar
Ну это можно в настройках поиграться, что-то свое дописать, код плагина открытый.
avatar
Будем
avatar
К концу следующей недели может что-то подобное будет реализовано в плагине «Ajax Preview». Ждите.
avatar
О, я сейчас в твоей теме отпишу ещё одну доработу по твоему плагину.
avatar
Ещё рандом надо по кратности, например, каждое значение +10px: 120, 130, 140 и так далее, чтобы было это как обозначить можно?
avatar
зайди в конфиг
и
$config['size_images_preview']=array(
array(
'w' => 150,
'h' => 150,
'crop' => true,
),
array(
'w' => 160,
'h' => 150,
'crop' => true,
)
,
array(
'w' => 170,
'h' => 150,
'crop' => true,
)
);

думаю смысл понятен
avatar
Как сделать проверку не только по ширине, но и по высоте. Например,

array(
'w' => 400,
'h' => 400,
'crop' => true,
)

И если изображение 500x200 будет уменьшать по ширине, а 200x500 по высоте.
avatar
Как запретить Watermark накладываться на превьюшки? По 2 раза накладывает, на оригинальное изображение и на уменьшенные снова. Получается очень красивый двойной watermark.
avatar
Как сделать чтобы на главной странице сайта был один размер превью, а на странице самого топика был другой. И как вообще увеличить размер изображения?
$config['size_images_preview']=array(
array(
'w' => 100,
'h' => 100,
'crop' => true,
)
менял эти значения, так картинка увеличивалась только на странице редактирования топика. Там где заливаешь саму картинку. А на главной превью вообще исчезало.
avatar
Надо в шаблоне еще пописывать.
Читай мою инструкцию: livestreet.ru/blog/12050.html
avatar
вобщем-то необходим фикс для плагина main preview что бы он делал превью только в том случае, если в топике присутствует определенный http адрес, точнее кусок домена. Т.е. если в атрибуте src картинки ссылка не с локального домена, то превью делать не нужно. Поможете?)
avatar
решил посрдствам отключения автоматической генирации превью
avatar
Сейчас настраиваю сайт и приходиться частенько делать новую конвертацию.
Конвертация проходит ужасно.
Постоянно обрывается с ошибкой:
Fatal error: Call to a member function getWebPath() on a non-object in /home/u27170/motaku.ru/html/plugins/mainpreview/classes/modules/main/Main.class.php on line 389 

как я понял связано это с фотосетом, но что не так-то? настройки фотосета дефолтные стоят.
avatar
здесь github.com/livestreet/lsplugin-mainpreview/blob/master/classes/modules/main/Main.class.php#L388 можно сделать проверку типа
if ($oMainPhoto) { ... }
avatar
Было бы очень полезна функция изображения по умолчанию… особенно обладателям Flow. Кирпичики Flow без превью портят картину.
К этому можно было бы добавить также отключение ручного ввода превьюшки через конфиг.
avatar
несколько человек грузят фотографии в блоке превью, а не непосредственно в редакторе. Фотка после опубликования не появляется в топика, начинается паника)) Не правильно это.
avatar
Убери просто в конце топика загрузку превью и все.
avatar
и то верно)) но перво-наперво все-таки нужно задать изображение по умолчанию… на случай отсутствия изображений в топике… у меня специфичная ситуация и не хотелось бы портить верстку Flow.
avatar
Как я понял на rutube произошли изменения, теперь на берутся превьюшки с рутуба, кто-нибудь решил эту проблемку?
avatar
Скажу сразу большое спасибо за плагин, незаменимый просто. Итак, проблема в том, что тестировал на разных хостингах, на одних работает просто прекрасно, но не утраивает хостер (мощность и.т.д.), нашел более-мение подходящего и такая вот проблема, не генерятся привьюшки, пишет такую ошибку когда генерирую через админку:
Warning: set_time_limit() has been disabled for security reasons in /home/vol8/i-rss.ru/irss_12399666/vidachok.likesyou.org/htdocs/plugins/mainpreview/classes/actions/ActionMain.class.php on line 52
фото в uploads не появляется (=
Использую плагин для работы с шаблоном SIMPLE.

P.S. Переустанавливал 5 раз, все перепроверял, на локале на Денвере работает все четко тоже, написал хостеру просил настроить set_time_limit() в php.ini, получил ответ такой — «у мя все норм работало для перевью есть куча модулей ))) магу ссылку дать».
avatar
Народ, кто-нибудь решил проблему с rutube?
avatar
превью картинки не генерирует почему-то, не подскажите путь к папке куда их сохраняет?
avatar
Читаем в тексте топика:
По умолчанию в конфиге плагина не заданы размеры превью. Они задаются вручную, либо другими плагинами.
avatar
Для тестирования использую два разных шаблона, от разных людей.
Автоматически превью не создает.
Вручную выбираю картинку публикую, в итоге на выходе дефолтная картинка, а превью нету
нажимаю редактировать, а оно не показывает что у этого топика есть превью картинка, хотя должно. Пробовал на этом сайте, там хоть и нету вывода превтю для топи, но плагин стоит, и при редактировании отображает что у даного топика есть првью картинка

почему же у меня при активированом плагине, ниче нету, в чем может быть проблема? В настройках ничего не менял, надо там что-то трогать?
avatar
В настройках ничего не менял, надо там что-то трогать?
Конечно надо, потому что
По умолчанию в конфиге плагина не заданы размеры превью. Они задаются вручную, либо другими плагинами.
Массив $config['size_images_preview'] пустой
$config['size_images_preview']=array(
	/*
	array(
		'w' => 100,
		'h' => 100,
		'crop' => true,
	)
	*/
);

Раскомментируйте (уберите /* и */) и задайте свои размеры.
Запустите автосоздание превью.
В шаблоне должен быть задан вызов превью. см readme.txt в плагине.
Смотрите шаблон Simple.
avatar
Все получилось, спасибо огромное )
avatar
помогите заново установить плагин?
по глупости удалил плагин из админки, загрузил новый, но в админке плагина нет :(
как быть?
avatar
А как задать дефолтное превью, если в теле поста нет ни видео, ни картинки и если сам автор не выбрал превью для топика?
avatar
{if $oTopic->getPreviewImageWebPath()}
    <a href="{$oTopic->getUrl()}"><img class="topic_preview" src="{$oTopic->getPreviewImageWebPath(300crop)}"></a>
{else}
    <a href="{$oTopic->getUrl()}"><img class="topic_preview" src="{cfg name="path.static.skin"}/images/default.gif"></a>
{/if}


где default.gif — дефолтное изображение в папке images шаблона.
avatar
А куда его нужно вставить?
avatar
Я вставил в topic_thumb.tpl
avatar
или в topic.tpl или в topic_topic.tpl, уже забыл, а посмотреть не могу.
avatar
Rutube превью — кто нибудь решил проблему?
avatar
М.б. кому понадобится. Если нет возможности сделать конвертацию превьюшек к новым размерам конфига, но надо сохранить отображение старых картинок. Можно сделать примерно такую проверку:

{if $oTopic->getPreviewImageOriginalWidth()>'200'}
      {$oTopic->getPreviewImageWebPath('200')}
{else}
      {$oTopic->getPreviewImageWebPath('100')}
{/if}
avatar
Что-то раньше не сталкивался, а теперь возник вопрос: переношу сайт, перекинул файлы, в конфиге адреса изменил, в базе переписал на новые, в итоге изображения в топиках выводятся, а превьюшки к ним нет. Можно как-то просто поправить этот момент или только повторная генерация превью?
avatar
посмотри поле extra у топика, там должны быть пути до превью
avatar
Уже не актуально, больше ради интереса: пути правильные, посмотрел — производилась замена всех вхождений старого адреса на новый в редакторе. Перепроверял.
avatar
И как решили этот вопрос? У меня тоже не генеряться новый размер превью к старым топикам. Как грамотнее это сделать?
avatar
Запускал перегенерацию. Там вопрос немного в другом. Для Вашего случая: Вы задали новые размеры для превью и новый превью или не генерируются? Скорее всего, те, что в топиках имеют меньший размер. Поэтому все, что можно сделать — это либо уменьшить размеры в конфиге, либо загружать новые вручную.
avatar
хочу поменять размеры превью на новые. Были 500х400 а хочу 750х600. Грузил превью 1200px по ширине. В конфиге 1200px всегда стояло.
avatar
Разобрался с проблемой, нужно запускать reconvert при установленном плагине mainpreview ссылка на реконверт будет такая: site.ru/mainpreview/reconvert/.
У меня есть дописанный плагин превью поддержкой ajax, что бы не нагружало хостинг. Если что стучитесь в лс, скину бесплатно естественно.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.