MODx Evo: ошибки установки плагина transAlias
версия для печатиСкачал плагин TransliterateAlias v1.0 с оф.сайта MODx. Получил какой-то невнятный архивчик под именем repo-2340.zip Несмотря на странное имя, внутри все же оказался именно каталог [transalias]. Но это только начало.
Из таблиц транслитерации есть только common.php. Куда автор дел все остальное? Хорошо, что у меня была копия другого сайта на MODx, из нее взял остальные таблицы. Ставлю по инструкции, проверяю на редактировании ресурса и получаю ошибку парсера. Миленько.. Оказывается, операторные скобки в коде вставки плагина не были убраны. Ладно, возможно автор запарился, а я не заметил при вставке.
А вот почему он результат работы плагина в браузер отправляет, я не понял. Такое впечатление, что плагин был залит в репозиторий в состоянии разработки. В итоге, при попытке записи ресурса получаем в главный фрейм админки преобразованный алиас и ошибку "Cannot modify header information..". До этого была еще одна ошибка, "Warning: require_once (...) failed to open stream". В коде был пропущен слеш в одном месте.
Вообщем, нормальный код плагина приведен ниже, а здесь архив с исправленным кодом и всеми таблицами транслитерации.
if (!isset ($alias)) { return ; }
if (!isset ($plugin_dir)) { $plugin_dir = 'transalias'; }
if (!isset ($plugin_path)) { $plugin_path = $modx->config['base_path'].'assets/plugins/'.$plugin_dir; }
if (!isset ($table_name)) { $table_name = 'common'; }
if (!class_exists('TransAlias')) {
require_once $plugin_path.'/transalias.class.php';
$trans = new TransAlias($modx);
}
/*
* Handle events
*/
switch ($modx->event->name ) {
case 'OnStripAlias':
if ($trans->loadTable($table_name)) {
$output=$trans->stripAlias($alias);
$modx->event->output($output);
$modx->event->stopPropagation();
}
break ;
default:
return ;
}
[1oo%, EoF]Понравилась статья? Расскажите о ней друзьям: