Last active
August 29, 2015 14:16
-
-
Save andronex/e79e49daa43e8fbe5bc3 to your computer and use it in GitHub Desktop.
Плагин для MODX Revo. Проверяет обязательность заполнения META полей для публикуемых ресурсов + плагин для типографирования сохраняемого контента ресурсов. Работает через API typograf.ru
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Повешать плагин на событие OnBeforeDocFormSave | |
* Название любое | |
* meta description в поле description | |
* meta keywords в поле introtext | |
*/ | |
$eventName = $modx->event->name; | |
switch($eventName) { | |
case 'OnBeforeDocFormSave': | |
if (($resource->published) || $mode == 'new') { | |
if (empty($resource->description) || empty($resource->introtext)) { | |
$modx->event->output('Не заполнено одно или два поля для формирования META тегов!'); | |
return null; | |
} | |
/*Если нужно типографирование, то в это место вставить код из соседнего файла*/ | |
} | |
break; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Плагин для события OnBeforeDocFormSave | |
* Типографирует содержимое сохраняемого или публикуемого ресурса перед сохранением в базу. | |
* Для корректной простановки тегов параграфов <p></p> нужно абзацы в поле "Содержимое ресурса" | |
* разделять пустой строкой. | |
*/ | |
$eventName = $modx->event->name; | |
switch($eventName) { | |
case 'OnBeforeDocFormSave': | |
if (($resource->published) || $mode == 'new') { | |
/*Если нужен запрет на сохранение ресурсов с пустыми meta полями, то вставить в это место код из соседнего файла*/ | |
if($content = &$resource->content) { | |
$myCurl = curl_init(); | |
$xml = '<?xml version="1.0" encoding="windows-1251" ?> | |
<preferences> | |
<nowraped insert="0" nonbsp="1" length="0"> | |
<start><![CDATA[<nobr>]]></start> | |
<end><![CDATA[</nobr>]]></end> | |
</nowraped> | |
</preferences> '; | |
curl_setopt_array($myCurl, array( | |
CURLOPT_URL => 'http://www.typograf.ru/webservice/', | |
CURLOPT_RETURNTRANSFER => true, | |
CURLOPT_POST => true, | |
CURLOPT_POSTFIELDS => http_build_query(array('text' => $content, 'chr' => 'UTF-8', 'xml' => $xml)) | |
)); | |
if($response = curl_exec($myCurl)) $resource->set('content', $response); | |
curl_close($myCurl); | |
return null; | |
} | |
} | |
break; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment