PHP плагины в Content Monster II

Окт. 8, 2016 @ Обзоры софта
PHP плагины в Content Monster II

Как вам известно, Content Monster II недавно начал поддерживать и PHP плагины. Теперь работа с контентом сайтов перешла на иной уровень, можно использовать миллионы наработанных библиотек для выполнения любой, самой сложной задачи.

Чтобы не быть голословным - сегодня мы сделаем с вами демо плагин на PHP, который будет выполнять две задачи, необходимые каждому СДЛ.
1. Он должен зачищать какой угодно грязный текст, например после скана, после вставки вордовского документа, после парсинга 2. Он должен красиво и грамотно все это дело переформатировать на радость ПС
Для решения этих сложных задач воспользуемся PHP библиотеками strip_tags_smart и html_paragraph от мега гуру Рината Мухтарова

Структура PHP плагина

В папке Plugins расположен дескриптор плагина phpclear_process.cm-plugin. Он содержит 2 значимые строки
[Core]
Name = Зачистка контента v.1.1(PHP)
Module = phpclear_process
Это файл в UTF-8 с расширением cm-plugin содержащий описание плагина и его модуль. Необходимые библиотеки, исполняемые файлы и вызовы плагина мы положим в папку plugins/phpclear_process Здесь у нас будут такие файлы:
  • __init__.py - это, грубо говоря, доступ до внутренностей CM-II (прототип API), его менять нет нужды
  • script.php - это непосредственно плагин
  • strip_tags_smart.php - это подключаемая библиотека Рината Мухтарова
  • html_paragraph.php - это также подключаемая библиотека Рината Мухтарова
Непосредственно сам PHP плагин script.php выглядит следующим образом
require_once 'strip_tags_smart.php';
require_once 'html_paragraph.php';
print("Обрабатываем $title");
$text = html_paragraph(strip_tags_smart ($text));
Доступ, реализованный в __init__.py обеспечивает:
  • Чтение и запись: текста, заголовка, тэгов, интро/эксцерпта
  • Чтение: дата, рубрика
Этого вполне достаточно для оперирования с контентом любым произвольным образом. Соответствующие данные находятся в переменных:
  • category
  • text
  • title
  • intro
  • tags
  • pubdate
Вы можете оперировать ими как угодно. Более того, модифицируя __init__.py вы можете открыть доступ и до иных переменных на чтение и запись.

Работа плагина по очистке контента

Итак,  вернемся к нашему плагину, состоящему из 4-х строк.
В двух первых мы подключаем PHP библиотеки, в третьей выводим в консоль информацию для уведомления пользователя о работе плагина, в четвертой строке осуществляем саму работу.
Чтобы не быть голословным - посмотрим на то, что  стало с нечитабельным и грязным контентом, в ходе работы плагина. Как мы видим, текст стал кристально чистым, без вордовских артефактов, без лишних пробелов и прочее.  Более того, библиотеки поддерживают кучу передаваемых параметров, начиная от того какие тэги чистить /оставлять и как переформатировать текст.  Посмотрите заголовки и хэлпы в самих библиотеках.
Плагин можно совершенствовать до бесконечности - например объединять излишне малнькие параграфы в один, заменяя параграф на перевод строки, оставлять или добалять какие то там тэги и т.д.
Скачать плагин можно с форума поддержки. Желаю удачи в освоении всей мощи Content Monster II P.S. Сегодня стартую программу  Content Monster II в кредит. Все подробности выложу на офф сайте.

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

blog comments powered by Disqus