Если нужен дополнительный параметр для материалов Joomla можно обойтись без добавления поля в таблицу базы данных.

Нужные поля можно добавлять в xml файл, делается это просто, но минусом тут то, что при обновлении Joomla сделанные изменения скорее всего затрутся и их нужно будет восстанавливать заново. А если сохранить материал без исчезнувших полей в xml файле, то потеряются и сохраненные ранее значения. В общем, это не удобно, но есть и более лучший способ, о нем потом, а пока рассмотри вариант с xml файлом.

Посмотрим как это сделать в Joomla 2.5, в Joomla 3, думаю примерно также будет...)

Нужное поле добавляем в xml файл - article.xml, этот файл находится в папке папке форм

administrator\components\com_content\models\forms

Сохраняется значение добавленного в форму поля в поле attribs таблицы #__content в json формате и если посмотрите с помощью phpMyAdmin, то содержание поля attribs должно будет выглядеть примерно вот так:

{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}

Для картинок и URLs используются поля images и urls соответственно.

Чтобы добавить поле, открываем файл article.xml и находим там группу полей fields с именем attribs.

Вот в эту группу attribs и добавляем нужное нам поле - я для пробы добавил поле c именем test_field:

Добавление дополнительных параметров для материалов Joomla

Теперь проверяем - смотрим как добавленное поле отображается в админке и сохраняются ли введеные в него значения.

Поменяли сначение, нажали сохранить - видим, что значение поля сохраняется.

Добавление дополнительных параметров для материалов Joomla

Как получить значение добавленного поля в шаблоне материала components\com_content\views\article\tmpl\default.php?

В файле шаблона материала default.php получить его значение можно так:

$this->params->get('test_field')

Из других компонент так:

$params	=& $mainframe->getParams('com_content');
//или так
//$params = &JComponentHelper::getParams( 'com_content' );
foreach ($articles as $article){
	$aparams = new JParameter($article->attribs);
	$params->merge($aparams);
			
	$article_tab = $params->get( 'test_field' );
}

$articles - массив объектов материалов

Добавить комментарий


Защитный код
Обновить