Api для шаблона fieldattach:
Api for templates
Можно создать персональный шаблон со значениями дополнительных полей. Очень легко и гибко.
Сначала следует добавить api библиотеку:
// require helper file
JLoader::register('fieldattach', 'components/com_fieldsattach/helpers/fieldattach.php');
ФУНКЦИИ (ТОЛЬКО ОДНА ФУНКЦИЯ ДЛЯ ВСЕХ ДОПОЛНИТЕЛЬНЫХ ТИПОВ)
fieldattach::getFieldValue($articleid, $fieldid, $category = false)
| Parameters | $id(Идентификатор статьи) $fieldsids(Идентификатор поля) $category, true or false (По умолчанию false) |
| Return | HTML поля |
Отображение всех полей к статье
fieldattach::getAllFieldValue($articleid, $category = false)
| Parameters | $id(Идентификатор статьи) $category, true or false (По умолчанию false) (Пока не работает) |
fieldattach::getName($id, $fieldsids, $category=false)
| Parameters | $id(Идентификатор статьи) $fieldsids(Идентификатор поля) $category (boolean) |
| Return | Значение имени поля |
fieldattach::getValue($id, $fieldsids, $category=false)
| Parameters | $id(Идентификатор статьи) $fieldsids(Идентификатор поля) $category (boolean) |
| Return | Значение поля, без HTML-тэгов. ТОЛЬКО для ввода, текстовой области и избранных дополнительных типов |
Пример шаблона статьи
<?php
/**
* @package Fieldsattach example */
// no direct access
defined('_JEXEC') or die;
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');
// require helper file
JLoader::register('fieldattach', 'components/com_fieldsattach/helpers/fieldattach.php');
// Create shortcuts to some parameters.
$params = $this->item->params;
$images = json_decode($this->item->images);
$urls = json_decode($this->item->urls);
$canEdit = $this->item->params->get('access-edit');
$user = JFactory::getUser();
?>
<div class="item-page<?php echo $this->pageclass_sfx?>">
<?php if ($this->params->get('show_page_heading', 1)) : ?>
<h1>
<?php echo $this->escape($this->params->get('page_heading')); ?>
</h1>
<?php endif; ?>
<?php
if (!empty($this->item->pagination) AND $this->item->pagination
&& !$this->item->paginationposition && $this->item->paginationrelative)
{
echo $this->item->pagination;
}
?>
<?php if ($params->get('show_title')) : ?>
<h2>
<?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>
<a href="/<?php echo $this->item->readmore_link; ?>">
<?php echo $this->escape($this->item->title); ?></a>
<?php else : ?>
<?php echo $this->escape($this->item->title); ?>
<?php endif; ?>
</h2>
<?php endif; ?>
<?php if (!$params->get('show_intro')) :
echo $this->item->event->afterDisplayTitle;
endif; ?>
<?php echo $this->item->text; ?>
<!-- FIELDS ATTACH VALUE -->
<?php fieldattach::getFieldValue($this->item->id, 1, false, false);?>