Плагин «Автоматическая вставка контента в текст топика (AutoInjector)»


Плагин позволяет на основе заданных правил вставлять внутрь текста топика практически любой контент: контекстную рекламу, баннеры, коды биржей ссылок, различные блоки информации, графические элементы, видео и т.п. Вставлять контент можно в любую позицию текста топика. Кроме того, с помощью плагина можно заменять часть текста топика на свой контент, например, скрывать ссылки/фото/видео при соблюдении некоторых условий.

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

Демо

Демо. Возможности плагина

Для тестирования используйте учетную запись:
логин: autoinjector
пароль: autoinjector

Краткое описание

Позицию вставки контента можно задавать 2 способами:

1. Указанием смещения относительно начала/конца текста топика. При этом смещение можно задавать либо абсолютным значением кол-ва символов от начала/конца топика, либо указанием процентов от общей длины топика. Например, чтобы вставить блок контекстной рекламы в середину топика, достаточно указать смещение 50% от начала или конца топика. Плагин корректно рассчитывает место вставки контента, не разрывая теги и предложения, т.е. вставка происходит всегда в конце предложения.

2. Указанием места вставки на основе какого-то HTML-тега в тексте. При этом контент можно вставлять перед тегом, после тега или вместо тега. Имеется возможность указать: обрабатывать все вхождения данного тега в текст или же только определенные по счету вхождения. Примеры: вставить контент перед каждым изображением в тексте, вставить контент после последнего изображения, заменить все ссылки на свой контент, заменить все видео на свой контент и т.п.

Контент, подлежащий вставке в текст топика, может представлять из себя JS-код/HTML-код/простой текст.

Кроме текста непосредственно в самом топике, плагин может обрабатывать также короткий текст из списка топиков в блоге.

Вставку/замену контента можно регулировать набором условий, т.е. вставка/замена будет осуществлена только, если этот набор условий выполняется.

На данный момент реализованы след. условия:
  • авторизован пользователь или нет (true/false)
  • находимся в списке топиков или нет (true/false)
  • URL блога (include/exclude)
  • рейтинг блога (=, <, <=, >, >=, between)
  • логин автора топика (include/exclude)
  • рейтинг автора топика (=, <, <=, >, >=, between)
  • id топика (include/exclude)
  • кол-во символов в топике (=, <, <=, >, >=, between)
  • рейтинг топика (=, <, <=, >, >=, between)
  • логин текущего пользователя (include/exclude)
  • рейтинг текущего пользователя (=, <, <=, >, >=, between)
  • сколько дней прошло с момента публикации топика (=, <, <=, >, >=, between)
  • текущие дата и время (=, <, <=, >, >=, between)
  • текущая дата (=, <, <=, >, >=, between)
  • текущее время (=, <, <=, >, >=, between)
  • текущий день недели (=, <, <=, >, >=, between)

Любые из этих условий можно группировать между собой с помощью логических операторов “И” и “ИЛИ” с неограниченным уровнем вложенности.

Примеры использования плагина (кейсы)

  • По мнению некоторых интернет-маркетологов размещение блока контекстной рекламы в середине топика ведет к повышению CTR. При этом, чтобы не нервировать чрезмерной рекламой постоянных посетителей сайта, необходимо этот блок с рекламой вставлять в середину топиков, только если с момента публикации топика прошло больше недели, чтобы постоянные посетители, подписанные на этот блог, успели прочитать топик без рекламы.
  • Необходимо мотивировать посетителей сайта регистрироваться. Для этого для неавторизованных пользователей в блоге “Отзывы” необходимо заменять все ссылки на надпись “[ссылка]”, при нажатии на которую, появлялось бы окно с авторизацией/регистрацией. А также вместо всех картинок в топике вставлять заглушку со ссылкой на авторизацию/регистрацию.
  • Необходимо мотивировать посетителей сайта писать отзывы. Для этого для всех пользователей во всех топиках в блоге “Отзывы” надо справа вверху отображать блок с большой кнопкой “Написать свой отзыв”, текст топика должен обтекать этот блок слева. При нажатии на эту кнопку авторизованные пользователи будут перемещаться на создание топика, а неавторизованные на авторизацию/регистрацию.
  • В ближайшие выходные для участников сообщества будет проходить какое-то мероприятие. Необходимо ближайшие 4 дня в начале всех топиков на сайте выводить анонс этого мероприятия.
  • Каждый вечер с 18-00 до 22-00, кроме выходных в нашем чате консультирует крутой специалист. Необходимо в этот период времени в начале топиков блога “Вопрос-ответ” выводить информацию об онлайн-консультировании со ссылкой на чат.
  • и т.д.

До 31.03.2015 действует скидка 20%

68 комментариев

avatar
Контент, добавленный плагином виден только в полной версии топика? Или это как-то настраивается?
avatar
Настраивается.
По-умолчанию и в короткой и в полной версии, но можно указать условие:
  • находимся в списке топиков или нет (true/false)
avatar
И как я пропустил ваш плагин? С виду просто шикарно!
avatar
Забрал, завтра буду тестить:)
avatar
Рейтинг блога? топика?
avatar
Сейчас нет. Можно будет добавить в след. версии плагина, если это будет востребовано.
avatar
Думаю, это может быть востребовано, например указав рейтинг топика аналогичный рейтингу для попадания на главную — мы размещаем блоки только в топиках на главной…
Да и в целом, это имеет смысл, т.к. это сделает плагин более гибким, особенно если эта доработка несложная
avatar
ок, сделаю в след. версии
avatar
Верно я понял, что можно будет настроить сколько дней прошло с момента публикации топика? Например, чтобы в свежих материалах не отображать рекламу? Так же интересует вопрос, относительно совмещения показателей: например, не отображать блок для авторизированных юзеров, но только для топиков что старше 1 дня?
avatar
Все верно поняли. Показатели можно совмещать. Приведенный пример легко настраивается в плагине.
avatar
Вчера направил на модерацию новую версию плагина, в которой добавлены новые условия в правила:
  • рейтинг блога (=, <, <=, >, >=, between)
  • рейтинг топика (=, <, <=, >, >=, between)
  • рейтинг автора топика (=, <, <=, >, >=, between)
avatar
Подскажите — все вставляемое плагином проходит через парсер текста и jevix?
avatar
нет, все выводится в исходном виде
avatar
фильтрами смарти?
avatar
нет, контент вставляется в HTML разметку без какой-либо обработки.
avatar
через жс?
avatar
нет
avatar
вы парсите файлы напрямую??
avatar
Не совсем понял вопрос. О каких файлах речь?
В которых хранится контент для вставки? Если так, то нет там никаких парсеров — все содержимое файла вставляется в текст топика.
avatar
все содержимое файла вставляется в текст топика.
но вы же говорите что:
Вставка/замена контента происходит “на лету” перед отдачей страницы пользователю.
avatar
не вижу противоречий
контент для вставки хранится в файлах
текст топика — в БД
перед выводом страницы в браузер все это миксуется плагином на основе заданных правил
avatar
перед выводом страницы в браузер все это миксуется плагином
вот я спрашиваю про способ «миксования» и предугадывая ваш вопрос «зачем» — чтобы понять хорошо плагин сделан или нет и какую нагрузку от него следует ожидать.

вы говорите что это не фильтры смарти, не средствами жс, не посредством парсера лс, не парсинг готовых компилированных файлов. что же это?
avatar
принцип примерно такой же, как у jevix-а
только в jevix-e все это сделано на алгоритме, похожем на конечный автомат.
я сделал немного по-другому, но принцип тот же — посимвольный разбор текста
avatar
Так, а перед выводом вы фильтруете текст каким образом (в какой момент)? Если он не пишется в бд, то это можно делать, например, через смарти. Но вы не используете это. Тогда как? Наследование сущностей/экшенов вывода топика?
avatar
хук template_topic_content_begin
далее обработка текста топика
и возврат в шаблон объекта $oTopic с новым текстом
avatar
вы спрашиваете про принцип «миксования», а человек в ветке комментария изначально спрашивал подвергается ли контент для вставки какой-либо обработке, наверное, опасаясь, что будут порезаны теги или js — я ответил, что нет.
немного о разном говорили -)
avatar
К сожалению, не могу оставить свой отзыв в каталоге, выдает ошибку: Нет доступа.
К платным расширениям отзывы могут оставлять только покупатели.
Как быть, если я его купил? Провокация конкурентов. Хотя, данный плогин это своеобразное ноухау. А вот мой отзыв, для тех, кто сомневается…
Плагин супер! Настоятельно рекомендую его купить, если хотите вывести свой блог на новый уровень! Автор, пиши еще! Плагин стоит своих денег. Успехов.
avatar
спасибо
avatar
Добрый день! Можно указать пример правильной настройки конфига, что бы все видео и все ссылки были доступны только для зарегистрированных?
avatar
$config['rules'][] = array(
	'content_file' => 'replace-link.txt',
	'position' => 'tag',
	'tag_name' => 'a',
	'tag_position' => 'replace',
	'condition' => array(
		'is_authorization' => array(
			'value' => false,
		),
	),
);

$config['rules'][] = array(
	'content_file' => 'replace-video.txt',
	'position' => 'tag',
	'tag_name' => 'video',
	'tag_position' => 'replace',
	'condition' => array(
		'is_authorization' => array(
			'value' => false,
		),
	),
);

В файлах replace-link.txt и replace-video.txt прописываете контент-заглушки для ссылок и видео соответственно
avatar
1. Правильно ли я понимаю, что файлы replace-link.txt и replace-video.txt нужно самостоятельно создавать в папке content?
2. Можно ли показать содержимое этих файлов, реализованных на демо сайте Вашего плагина?
avatar
Отвечаю сам:
1. Да.
2.
<div style="width:550px; padding-top:180px; padding-left:30px; padding-right:30px; height:180px; background-image:url(/media/no_video.jpg);font-family:Arial, Helvetica, sans-serif;font-size:20px;">
Видео доступно только <a class="js-login-form-show" href="http://site.ru/login/">авторизованным</a> пользователям
</div>

Не забудьте создать каталог media в корне и положить туда файл no_video.jpg

Все.
avatar
Вопрос — а как видит Яндекс фото и видео, если они доступны только зарегистрированным?… НИКАК?
avatar
Также, как незарегистрированные пользователи.
Робот яндекса не умеет регистрироваться и авторизоваться -)
avatar
Ну и еще вопрос напоследок — можно ли обрабатывать только те ссылки, которые идут на другие сайты, а те ссылки, которые идут внутри сайта, не трогать?
avatar
В этой версии плагина пока никак.
Но я готовлю обновление — там можно будет задать регулярное выражение для поиска места вставки.
avatar
Будем ждать с нетерпением!
Спасибо за хороший и полезный плагин, пишите еще!
avatar
Можно ли предоставить настройки конфига для размещения блоков, как у Вас в топике — autoinjector.lsplugins.ru/blog/ads/2.html?
avatar
avatar
Вот спасибо! Сейчас займусь!
avatar
Правильно ли я понимаю, что можно создавать неограниченное количество правил?
avatar
да
avatar
Почему видео обрабатывается только в топиках, а в комментариях — нет?
avatar
потому что плагин называется «Автоматическая вставка контента в текст топика»
этот плагин с комментариями не работает
avatar
А можно немного расширить функционал плагина до «Автоматическая вставка контента в текст топика и комментариев»?
avatar
Не планировал это делать, даже не изучал вопрос.
avatar
А если мы попросим и денюжкой скинемся?
avatar
Мельком посмотрел функционал комментариев.
В текущем плагине много чего придется переделывать и это будет не «немножко расширить».
Правильнее было бы для комментариев делать отдельный плагин.
Никаких обещаний давать не буду. Писать подобный плагин для комментариев пока не собираюсь.
У меня есть сомнения, что такой плагин для комментариев будет востребован. Можно провести опрос:
Кто «за» плагин «Autoinjector для комментариев» — плюсуйте этот коммент
avatar
Плюсануть не могу, поскольку ушел в минуса из-за того, что указал на неправильное поведение движка.
К тому же Вы правы — учитывая количество продаж Вашего плагина могу предположить, что народ просто не вкурил, какой он полезный и гибкий. Потому и на покупку плагина для комментариев будет короткая очередь.
Однако, представьте себе сайт, в котором по 300-500 коментов к каждому топику. Почему бы через каждые 20-30 топиков блок не вставлять?
avatar
Добрый день!
Очень бы хотелось видеть расширение плагина не только на текст топика, но и на комментарии.
Сообщите стоимость доработки.
avatar
ААааааа. Вот уже месяц как задался поиском подобного инструмента. Сам искал — не нашел. В середине марта написал ТЗ для фрилансера, с рамках которого была задача вставки блока в топик, но ждали пока РСЯ сайт одобрит и возьмет в сеть. Сегодня начали работу по ТЗ выполнять и на тебе. Фрилансер этот плагин показал. Продлите акцию по скидке — завтра куплю вечером ))).
avatar
К сожалению, акция закончилась
avatar
И еще уточнение: Ведь не обязательно в каждый топик отдельный блок вставлять? Т.е. можно одной вставкой (например кода РСЯ) вставить рекламный блок во все топики. Так?
Полагаю что ответ «Да», но лучше уточнить ))
avatar
да
avatar
Купил. Установил. Настроил. Все работает отлично.
Сначала глаза испугались настраивать, но Вячеслав проконсультировал (хотя там консультировать по чеснаку и нет необходимости — все и так понятно).
Спасибо за разработку!
avatar
Вставку/замену контента можно регулировать набором условий, т.е. вставка/замена будет осуществлена только, если этот набор условий выполняется.

На данный момент реализованы след. условия:
авторизован пользователь или нет (true/false)
.../blockquote>
не пойму как может неавторизованный может вставить или заменить контент?
avatar
не пойму как может неавторизованный может вставить или заменить контент?
Вставляет или заменяет контент в тексте топика не пользователь, а плагин.
Условие «Авторизован пользователь или нет» можно применять, например, для того, чтобы плагин скрывал в топиках ссылки/видео или еще что-то для неавторизованных пользователей.
avatar
Подскажите, а в мобильной версии будет работать?
avatar
Подскажите возможно ли в настройки включить количество показов и кликов (если это ссылка)?
avatar
нет
avatar
Технически невозможно или не запланированно?
avatar
технически нет возможно гарантировать результат
если пользователь не авторизован, то только в куках можно запоминать кол-во просмотров/кликов
пользователь может в любой момент почистить куки и счетчик будет сброшен, либо зайти на сайт с другого браузера/устройства

Да и не планировал такого делать, тоже
avatar
Подскажите возможно ли добавление в условия количество комментариев в топике и количество его просмотров?
avatar
Кол-во комментариев можно посчитать, такой функционал вроде есть в движке, запишу как полалку на след. версию плагина
А вот кол-во просмотров топика — такого функционала в движке вроде нет.
avatar
*пожелание на след. версию
avatar
Подскажите сработает ли следующее?:
Задача заменять текст заглушкой до определенной даты.
Но этот текст не обернут в какой-либо тег.
Если обернуть его в «новый» тег типа <wait>Текст</wait> и прописать его в условиях замены, сработает правило или нет? Надо ли новый тег заносить в Jevix?
avatar
Если обернуть его в «новый» тег типа <wait>Текст</wait> и прописать его в условиях замены, сработает правило или нет?
да
Надо ли новый тег заносить в Jevix?
да
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.