Плагин TopicIntro - автопревью к статье, анонс статьи и прочие "плюшки"

Выложен для тестов новый плагин для Alto CMS — TopicIntro, который добавляет новые возможности для более разнообразной подачи материалов на ваших сайтах.

Плагин в стадии тестирования, поэтому пока выложен на гитхабе: https://github.com/altocms/alto-plugin-topicintro

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

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

Более того, если в статье есть ссылки на видеоролики (youtube, rutube, vimeo), то плагин может создать превью-картинку из них.

Анонс к статье (интро-текст)
Нередко для журнальных и газетных статей делают анонсы — краткий текст о том, что это за статья. Причем, это не то же самое, что использование тега <cut>, под кат убирают, обычно, длинную статью, оставляя «на поверхности» несколько первых абзацев. Плагин же позволяет при создании и редактировании статьи отобразить в форме отдельное поле «Анонс» с ограниченным числом символов, которое туда можно ввести.

Можно так же задать в настройках автоматическое создание анонса по заданному числу символов основного текста (т.е., фактически, автокат, позволяющий избежать длиннющих «простыней» текста, когда пользователи забывают про тег <cut>).

В дальнейшем, используя различные настройки плагина, можно использовать разные режимы вывода текста. Например, при выводе статей «плиткой» можно выводить анонс (который, напомню, может формироваться автоматически и ограничен по числу символов), и этим мы избежим ситуации, когда внешний вид разваливается из-за какой-то слишком объемной статьи, а при выводе списка топиков отображать их уже обычным образом (с коротким текстом до ката, если он есть).

Совместимость с ЛС-плагином MainPreview
Этот плагин смело можно использовать вместо ЛС-плагина MainPreview, т.к. он умеет делать то же самое (и плюс много чего еще) и совместим на уровне функций (методов). Если вдруг у кого-то возникнут проблемы (с MainPreview все работает, а TopicIntro нет) — пишите.

Настройка плагина
Настройка плагина пока выполняется руками в конфиг-файле. И хочу напомнить, что не стоит вносить исправления в конфиг-файл, который лежит непосредственно в папке плагина — есть риск, что вы потеряете настройки, когда будете обновлять плагин. Поэтому лучше всего делать так: копируете файл /common/plugins/topicintro/config/config.php в папку /app/plugins/topicintro/config/ и уже там вносите нужные вам исправления.

Продолжение: Плагин TopicIntro — работаем с анонсами

UPD ВАЖНО!!! Плагин необходимо положить в папку /common/plugins/topicintro. Будьте внимательны при распаковке zip-архива!

Похожие статьи

  • Плагин TopicIntro - работаем с анонсами
    После статьи Плагин TopicIntro — автопревью к статье, анонс статьи и прочие «плюшки» я так и так собирался написать более подробно, как максимально эффективно использовать все возможности этого плагина, но планировал ...
  • Обновлен плагин Категории
    Обновленная версия плагина «заточена» под Alto CMS 1.1.х, и в ней решена проблема задвоения виджетов. И добавлена возможность выбирать категорию при создании и редактировании блога. Причем, возможность выбора при...
  • Бесплатный плагин Feedback — формы обратной связи на вашем сайте
  • Бесплатный плагин «Песочница»
    Такой плагин просили многие. И вот он появился на свет благодаря the-boss. Суть плагина проста: после его активации на сайте появляется «Песочница» — отдельная лента статей, которая не пересекается с основной лентой ...

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

+1
При попытке активировать пишет
Файл плагина /var/www/сайт/data/www/сайт.ru/plugins/alto-plugin-topicintro-master/PluginAlto-plugin-topicintro-master.class.php не найден
Версия Alto 0.9.7.1
+2
1) Плагин предназначен для версии 1.0 (возможно, он и на 0.9.7 запустится, не знаю, не пробовал)
2) Распаковывать архив нужно в папку /common/plugins/topicintro/
+1
Отличный плагин. Как по мне такая возможность должна быть из коробки.
+1
Возможно. Но я решил пока в виде плагина выпустить. Пусть пока поживет немного своей жизнью, устаканится, отлшлифуется, а там видно будет
0
Не могу активировать.
Ошибка:
Для работы плагина необходима Alto CMS версии не ниже 1.0

Версия PHP: 5.3.3-7+squeeze18
Графика: Imagick: ImageMagick 6.6.0-4; GD: 2.0
Версия Smarty: Smarty-3.1.16
Версия Alto CMS: 1.0-rc4
0
Так обновите движок. Тем более, что с любой версии 1.0-rcX на 1.0 обновиться очень просто: обновляете папку /engine/ и папку /common/. Единственный нюанс: папку /engine/ в принципе вообще можно снести и залить новую, но с /common/ так поступать нельзя, чтобы не поудалять ненароком свои плагины и шаблоны, ее нужно именно обновить.
0
Спасибо, проблема решилась с активацией.
Возникли следующие проблемы:
1. Почему-то продублировало интротекст в новосозданой статье 2 раза, а в существующей статье дало ошибку, что в интротексте больше 151 символа. Хотя он заполнился автоматически.
Настройки в конфиге такие:
$config['introtext']['enable'] = true;
$config['introtext']['max_size'] = 150;
$config['introtext']['autocreate'] = true;
$config['introtext']['text_short'] = true;
$config['introtext']['hook_list'] = 'template_topic_content_begin';
//$config['introtext']['hook_show'] = 'template_topic_content_begin';



Тут ошибка 151 символ:
0
Подробно расписал про интротекст, как настраивать и использовать: altocms.ru/621.html

Конкретно по вашим проблемам:
1. Про недопустимое число символов — это был баг в плагине, сейчас он исправлен
2. Чтоб убрать дублирование — закомментируйте строку
//$config['introtext']['hook_list'] = 'template_topic_content_begin';
0
Спасибо!
0
Аналогичная ошибка.. http://prntscr.com/bbiodn

Ошибка: Длина текста анонса 14247 символов, допустимо не больше 1640 символов

1640 ставил для вывода перью...
0
Вот такой баг отловил: yadi.sk/i/5OraegByYVDK5

Версия альто с гитхаба. Config:

$config['autopreview']['enable'] = false;

$config['autopreview']['video'] = true;

$config['autopreview']['autosave'] = false;

$config['autopreview']['hook_list'] = 'template_topic_content_begin';
//$config['autopreview']['hook_show'] = 'template_topic_content_begin';

$config['preview']['size'] = array(
    'default' => 'x300', // размер по умолчанию
    'edit'    => '150x150', // размер при создании/редактировании статьи (если задано $config['preview']['edit'])
);

$config['preview']['edit'] = true;

$config['single_width'] = false;

$config['introtext']['enable'] = true;

$config['introtext']['max_size'] = 200;

$config['introtext']['autocreate'] = false;

$config['introtext']['text_short'] = false;

//$config['introtext']['hook_list'] = 'template_topic_content_begin';

$config['introtext']['hook_show'] = 'template_topic_content_begin';

$config['introtext']['html_tags'] = true;
/code>
0
Возникло таким образом:

— включил плагин
— включил в конфиге генерацию превью из картинок в тексте (превью при этом будет такого же размера как картинка из которой оно получилось — и поэтому в редакторе перекрывает текст видимо.)
— отключил генерацию
— включил ручное управление превью

Если потом в ручном управлении сменить картинку — то все норм, и картинка уже генерится заданного в конфиге размера.
0
Короче при включении плагина на работающем проекте, надо очень осторожно))
0
Была такая проблема, но уже пофиксена
0
Может ли плагин делать CROP изображений?
0
Да, вот тут читай.
0
У меня плагин просит
Для работы плагина необходима Alto CMS версии не ниже 1.0.1-dev

но dev ставить пока нет желания
Отредактирован:
0
Можете прописать себе любую версию github.com/altocms/altocms/commit/bd2b8ff37b344887a928dd35ea593b29463248a7
0
Ну вот так «в лоб» — не есть гуд. Ибо требование версии — это не с потолка, значит, используется функционал, которого не было в предыдущих версиях
0
Там же сказано — не ниже. А реально последняя стабильная версия движка — 1.0.4 уже
+1
А как правильно обновлять движок, какие папки копировать?
0
0
Ребят, помогите разобраться. То ли баг, то ли скорее всего я не пойму конфиг.)
Нужно чтобы выводился скриншот строгой высоты 450x250 пикселей.
Прописал значение
{$oTopic->getPreviewImageUrl(450x250)}

Картинка сама по себе размером такой получается, но почему плагин «криво» режет, белое пространство остается. Фактически получается полотно размером 450x250, но изображение 450x230 остальное пространство занимает белый фон.

Скрин
altocms.ru/uploads/images/00/04/87/2014/08/27/0u3f46fda5-74e0a790-4d03cf00.jpg

В конфиге
* Предзаданные размеры превью-изображений
 */
$config['preview']['size'] = array(
    'default' => '400x250', // размер по умолчанию
    'edit'    => '150x150', // размер при создании/редактировании статьи (если задано $config['preview']['edit'])
);

// Разрешить задание автопревью вручную при создании/редактировании статьи
$config['preview']['edit'] = true;

/*
 * Как интерпретировать одиночное значение
 *   true:  300 -> 'x300'       - LS compatibility
 *   false  300 -> '300x300'    - Alto mode
 */
$config['single_width'] = false;
Отредактирован:
+1
Картинка режется не криво, а именно так, как задается :) Если задано, что нужно 450x250, то такая на выходе и получается. Если хотите, чтоб картинка полностью заполнила площадь 450x250, а лишнее отрезалось, то нужно размер задавать как '450x250crop'
0
Более того, если в статье есть ссылки на видеоролики (youtube, rutube, vimeo), то плагин может создать превью-картинку из них.
А возможно ли в этом случае на превью накладывать какой либо значек, делающий пометку о том что в топике есть видео или превью основано на видео?
0
Вадим, посмотрите, пожалуйста — можно что-то придумать?

altocms.ru/736.html#comment14858
0
Вадим, можно как-то сделать чтобы картинку меньше какого-то настраиваемого значения плагин не выводил? Со всеми смайликами такая проблема. К тому же маленькая картинка растянутая на заданную ширину превью выглядит некрасиво.
0
В последней версии добавлен параметр, задающий минимальные размеры, чтоб изображение попало в превью
0
Заметил один баг...если добавляешь к статье изображение и еще добавляешь фотосет где одному из изображений ставишь галочку Использовать как преевью...то в на главной сайта выводится статья с двумя изображениями...одно изображение берется из текста и одно из фотосета...можно как нить это исправить...чтобы бралось либо из текста...либо превью из фотосета если пользователю нужно превью только из фотосета и он поставил галочку Использовать как преевью
0
Нашел такой баг: если видео на youtube уже не существует то при добавление статьи вверху шапки сайта вылетает текст:
E_WARNING [2] file_get_contents(http://www.youtube.com/oembed?url=http%3A//youtube.com/watch%3Fv%3Dwf1SVk8YIFk1111&#38;format=json): failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found 
See details in error.log


в error.log следующий текст:
[LOG:1459012903.551-56F6C5278666A][2016-03-26 20:21:43][PID:3740][ERROR][[
E_WARNING [2] file_get_contents(http://www.youtube.com/oembed?url=http%3A//youtube.com/watch%3Fv%3Dwf1SVk8YIFk1111&#38;amp;format=json): failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found
 (F:\openserver\OpenServer\domains\суперсерверок\common\plugins\topicintro\classes\modules\videoinfo\Videoinfo.class.php on line 103)
]][END:1459012903.551-56F6C5278666A]

Если на лог можно было бы забить, до определенного момента(пока не разрастется), то про сообщение в шапке сайта уже не стоит. да и к тому же в будущем видео могут и удалить с ютуба. Тогда полезут ошибки.
Отредактирован:
+2
Исправлено в последней версии
0
Есть возможность сделать сохранение превью картинки видеоролика не на сторонний сайт, а в отдельную папку на том же сайте, где размещен ролик?
Сейчас, если нет других изображений в теме, а есть только ютуб ролик, то выводит в превью картинку с
meta name="og:image" content="https://i.ytimg.com/vi/fwThxUq9nWc/hqdefault.jpg"
Отредактирован:
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.