Skip to content

Плагин для формирования ленты Яндекс Турбо для CMS Joomla

License

Notifications You must be signed in to change notification settings

FictionLabs/FL-Yandex-Turbo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

FL Yandex Turbo - плагин Яндекс.Турбо страниц для Joomla, поддерживающий материалы компонентов Content, Zoo и K2, найденным по условиям, задаваемым в настройках.

Принцип работы

Плагин выбирает из базы материалы в соответствии с условиями, заданными в настройках. Для каждого из компонентов есть масса опций по выборке отображения материалов. Для Zoo* поддерживается неограниченное количество приложений и типов, которые можно выбрать в настройках. Никаких id элементов, только настройка из административной части плагина или Zoo.

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

  • Content - изображения полного (вступительного) текста материала;
  • K2 - изображения материала;
  • Zoo - изображение, добавленное в позицию Header Image шаблона плагина внутри компонента Zoo;

В качестве текста материала выступают:

  • Content - вступительный и полный текст материала;
  • K2 - вступительный и полный текст материала;
  • Zoo - текст элементов, добавленный в позицию Content шаблона плагина внутри компонента Zoo, куда могут быть добавлены любые элементы; Плагин обрабатывает контент - находит изображения, оборачивает их тэгом figure и добавляет к ним figcaption. В дополнение к этому, плагин удаляет ненужные тэги в соответствии с настройками, удаляет пустые тэги.

Особенности

Для отображения рекламы на сайте плагин добавляет к тексту материала соответствующую разметку - одну перед текстом материала, другую - после, всего 2 блока. Вам лишь стоит выбрать и настроить систему рекламы в настройках. Если Вам нужно добавить 2 блока рекламы, внизу и вверху, в настройках необходимо добавить блок рекламы дважды.

Плагин может показывать отдельные ленты каждого компонента, для этого к адресной строке необходимо добавить лишь параметр component с необходимым компонентом, например, &component=content, &component=zoo или &component=k2.

Иногда с одновременным включением нескольких компонентов и выводом большого количества материалов в ленту сервера не справляются с нагрузкой. Для таких случаев, имеет смысл разделить ленту на страницы. Для этого к адресной строке необходимо добавить параметр page с нужной страницей, например, &page=2.

Кеширование плагина не зависит от глобальных настроек кеша сайта.

Если Вам необходим какой-то специфический текст, то плагин может отрендерить 2 модульные позиции, одну ДО контента (она называется fl-yandex-turbo-top) и одну после контента (она называется fl-yandex-turbo-bottom). Этих позиций Вы не найдете у себя в шаблоне, поэтому их необходимо вставить вручную. Смело добавляйте любой модуль в эти позиции, и он будет отображен там, где надо. HTML код в модулях будет очищен в соответствии с настройками плагина.

Кеширование плагина не зависит от глобальных настроек кеша сайта.

Если Вы решили отображать на сайте форму обратной связи в виде кнопки или в конце материала, но Вы не хотите ее отображать на каких-то определенных страницах, просто добавьте в тело материала тэг {flyandexturbo_no_form}. После этого форма не будет отображаться на странице конкретно этого материала.

Для работы с компонентом Zoo необходима предварительная настройка шаблона плагина внутри самого компонента Zoo (добавление элементов в позиции Header Image, если выбрана соответствующая опция, и Content).

Для правильной работы страница rss ленты должна быть разрешена в Вашем robots.txt. Например, так:

Allow: /?option=com_ajax&plugin=flyandexturbo

Расширение плагина для работы с другими компонентами оказывается на платной основе.

Для разработчиков

Плагин легко расширяется для работы с другими компонентами. Для расширения плагина достаточно:

  1. Добавить в файл /plugins/ajax/flyandexturbo/flyandexturbo.xml плагина новый fieldset, например,
<fieldset name="<ВАШ_КОМПОНЕНТ>">
	<field name="<ВАШ_КОМПОНЕНТ>_options" 
		type="subform" 
		formsource="/plugins/ajax/flyandexturbo/subform/plugins/com_<ВАШ_КОМПОНЕНТ>.xml" 
		layout="joomla.form.field.subform.default"
		labelclass="hidden" />
</fieldset>
  1. Добавить в папку плагина файл с настройками будущего расширения /plugins/ajax/flyandexturbo/subform/plugins/com_<ВАШ_КОМПОНЕНТ>.xml, куда добавить опции настроек для Вашего плагина, обязательная опция - enable, пример:
<field name="enable" type="radio" default="0" 
	class="btn-group"
	label="PLG_FLYANDEXTURBO_ENABLE_LABEL" 
	description="PLG_FLYANDEXTURBO_ENABLE_DESC">
	<option value="0">JNO</option>
	<option value="1">JYES</option>
</field>
  1. Добавить в папку плагина файл /plugins/ajax/flyandexturbo/plugins/com_<ВАШ_КОМПОНЕНТ>.php, где будет логика Вашего расширения. Название класса - FLYandexTurboCore<ВАШ_КОМПОНЕНТ>. В классе одна основная функция - getContent, которая должна вернуть массив, где каждый элемент тоже массив специального вида:
$result[] = array(
	'title' 		=> '', // наименование материала
	'image'			=> '', // html код изображения
	'link' 			=> '', // ссылка на материал
	'date' 			=> '', // дата написания материала
	'author' 		=> '', // автор материала
	'content' 		=> '', // основной контент
	'related'		=> array() // массив related, реализация в будущих версиях, заглушка
);

В итоге, необходимо взять из базы или по API компонента все необходимые материалы (можно добавить настройки для их выборки), после чего перебрать их, составить вышеописанный массив и добавить все в результирующий массив. Для примера можно ориентироваться на реализация компонента COM_CONTENT.

Покупка расширения для плагина

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

About

Плагин для формирования ленты Яндекс Турбо для CMS Joomla

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published