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);?>