Я работаю над созданием небольшого плагина для изменения форм категорий (в представлении добавления / редактирования категорий) в Joomla.
Я смог использовать учебник на сайте Joomla для изменения форм в профилях пользователей, статьях и меню; однако категории не работают должным образом.
Это код, который я использую:
defined('JPATH_BASE') or die;
class plgContentCategoryType extends JPlugin {
function onContentPrepareForm($form, $data) {
// Load plugin language
$lang = JFactory::getLanguage();
$lang->load('plg_content_categorytype', JPATH_ADMINISTRATOR);
if (!($form instanceof JForm)) {
$this->_subject->setError('JERROR_NOT_A_FORM');
return false;
}
// Check we are manipulating a valid form.
if (!in_array($form->getName(), array('com_categories.category'))) {
return true;
}
if ($form->getName()=='com_categories.category') {
// Add the fields to the form.
JForm::addFormPath(dirname(__FILE__).'/forms');
$form->loadFile('categorytype', false);
}
}
}
и вот как выглядит форма XML:
<form>
<fields name="params">
<fieldset name="categorytype" label="PLG_CONTENT_CATEOGRYTYPE_FIELDSET_LABEL">
<field name="category_type" type="list" label="PLG_CONTENT_CATEGORYTYPE_LABEL" description="PLG_CONTENT_CATEGORYTYPE_DESC">
<option value=""></option>
<option value="features">PLG_CONTENT_CATEGORYTYPE_FEATURES</option>
<option value="columns">PLG_CONTENT_CATEGORYTYPE_COLUMNS</option>
<option value="spotlights">PLG_CONTENT_CATEGORYTYPE_SPOTLIGHTS</option>
<option value="slices">PLG_CONTENT_CATEGORYTYPE_SLICES</option>
<option value="news">PLG_CONTENT_CATEGORYTYPE_NEWS</option>
</field>
</fieldset>
</fields>
</form>
Любая помощь в том, что я делаю неправильно, будет принята с благодарностью! Как я уже сказал, он будет работать с любым другим типом контента, например, для работы с меню, просто нужно изменить «имя» в коде.
спасибо!