Использование плагинов

ExpressionEngine разработана так, что новые возможности могут быть легко добавлены с помощью плагинов.  Раздел ExpressionEngine Plugins на сайте разработчика содержит список всех доступных плагинов, а так же инструкции по установке и использованию для каждого. Ниже приводятся общие инструкции, которые подходят для большинства плагинов. Необходимо внимательно читать примечания для каждого плагина, который вы желаете использовать.

Установка

Установка плагина в ExpressionEngine крайне проста:

Если вы работаете с EE версии 1.2.1. или выше, и вы выполнили все требования для работы менеджера плагинов, то вы можете просто щелкнуть по ссылке "Установить" для нужного плагина в списке доступных плагинов в менеджере плагинов. Плагин будет автоматически установлен.

Плагины можно устанавливать вручную, используя следующую простую инструкцию. (Примечание: некоторые плагины могут требовать выполнения дополнительных — или — необязательных шагов. Убедитесь, что ознакомились с примечаниями по установке плагина).

  1. Скачайте плагин на локальный компьютер. Как правило, необходимо разархивировать файл.
  2. Зайдите на ваш сервер через FTP и выберите директорию system/plugins/.
  3. Закачайте новый файл плагина .php. Убедитесь, что закачиваете файлы в режиме ASCII ("text").

Когда плагин установлен, вы должны увидеть, что он присутствует в списке в менеджере плагинов в панели управления ExpressionEngine.

Примечание: Некоторые плагины требуют выполнения дополнительных действий при установке. Убедитесь, что выполнили все инструкции, приведенные в файле readme, и т.д. который должен идти в комплекте с плагином.

Основы применения

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

{exp:xml_encode}
некоторое содержимое
{/exp:xml_encode}

В вышеупомянутом примере, содержимое было бы обработано плагином XML Encoded.

Вложенные плагины

Есть возможность вкладывать плагины, если необходимо выполнить обработку содержимого, более чем одним плагином. Например, вы можете сделать так:

{exp:word_limit total="35"}
   {exp:xml_encode}
       some content
   {/exp:xml_encode}
{/exp:word_limit}

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

Изменение порядка обработки

Вы можете изменить порядок обработки и указать ExpressionEngine, обрабатывать первым внешний плагин. Это можно сделать, добавляя параметр parse="inward" в открывающий тег плагина. Использование этого параметра укажет EE, что необходимо выполнить анализ этого плагина, перед анализом любых плагинов внутри него.

parse="inward"

Примеры

Вот некоторые примеры, для иллюстрации изменения порядка обработки.

{exp:magpie url="http://some-site.com" parse="inward"}
   {items}
      <a href="{link}">{title}</a><br />
      {exp:word_limit total="20"}{content}{/exp:word_limit}<br />
   {/items}
{/exp:magpie}

В примере выше первым будет обработан плагин "magpie". Это позволит содержимому переменной {content} быть доступным для другого вложенного плагина: "word_limit".

Приведем немного более сложный пример, который демонстрирует двойной порядок обработки в действии.

{exp:magpie url="http://some-site.com" limit="15" refresh="720" parse="inward"}
<ul>
   {items}
      <li><a href="{link}">{title}</a><br />
         {exp:word_limit total="35"}
            {exp:xml_encode}
               {content}
            {/exp:xml_encode}
         {/exp:word_limit}
      </li>
   {/items}
</ul>
{/exp:magpie}

Внешнему плагину "magpie" установлен параметр parse="inward", поэтому он обрабатывается первым. Это делает содержимое переменной {content} доступным для других плагинов. Затем обрабатывается плагин "word_limit". Однако так как по умолчанию EE разбирает плагины, изнутри, то сначала будет обработан плагин "xml_encode" а затем "word_limit". Таким образом, "word_limit" никогда не будет стирать закрывающий тег плагина "xml_encode".

Наверх страницы