Я работаю над плагином для работы с пользовательским компонентом, который я разрабатываю для Joomla 3.3
Тем не менее, с использованием основного кода в событии «onBeforeCompileHead» я пытаюсь обновить каноническую информацию, которую генерирует Joomla 3.3, взяв все данные из массива и повторно отправив их после изменения данных, чтобы добавить свою собственную информацию.
Однако при добавлении пользовательского кода в соответствии с руководством по программированию Joomla (для начинающих) я не вижу работающего кода и не добавляет информацию о заголовке, необходимую для этого теста.
Мой код выглядит следующим образом:
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport('joomla.plugin.plugin');
class plgSystemCUSTOMPLUGIN extends JPlugin {
function onBeforeCompileHead() {
if ($this->params->get('site_url')) {
$document = JFactory::getDocument();
$headData = $document->getHeadData();
$headData['metaTags']['standard']['revised'] = $this->params->get('site_url');
$document->setHeadData($headData);
}
}
}
Я вынул утверждение if, оно даже не достигло этой точки. Я даже добавил простой почтовый вызов PHP, чтобы отправить тестовое электронное письмо, если эта функция вообще была нажата.
Плагин был установлен как «Системный» плагин. Однако он загружает класс в среду, так как я могу вызвать синтаксические ошибки. Я также проверил, и диспетчер в ядре Joomla определенно загружает событие.
У кого-нибудь есть понимание того, что здесь происходит?
Спасибо!
Я понял это. Мой языковой файл не использовал правильное имя для плагина, и это будет работать, только если имя класса выглядит так:
class plgSystem[plugin_name] {
}
Теперь у меня это работает, как ожидалось.
Спасибо!
Других решений пока нет …