Компонент tienda, в представлении товара вывод пользовательских полей есть, но как сделать вывод пользовательских поля в списке товаров через интерфейс админ панели я не нашел.

В результате копирования кода из одного файла в другой появилось вот такое решение.

В файл представления components\com_tienda\views\products\view.html.php добавляем код функции getCustomFields:

function getCustomFields( $entity, $id, $cache_values = true )
{
	Tienda::load( 'TiendaModelEavAttributes', 'models.eavattributes' );
	Tienda::load( 'TiendaHelperEav', 'helpers.eav' );
 
	$eavs = TiendaHelperEav::getAttributes( $entity, $id );
 
	$fields = array( );
	foreach ( @$eavs as $eav )
	{
		$key = $eav->eavattribute_alias;
 
		$value = TiendaHelperEav::getAttributeValue( $eav, $entity, $id, false, $cache_values );
 
		$fields[] = array(
			'attribute' => $eav, 'value' => $value
		);
	}
 
	return $fields;
}

В файл раскладки components\com_tienda\views\products\tmpl\default.php после строк

<div id="tienda_products">
	<?php foreach ($items as $item) : ?>

Добавляем следующий код:

<?php $fields = $this->getCustomFields( &#39;products&#39;, $item->product_id );
 
if ( count( $fields ) )
{
	$field_show = array();
	foreach($fields as $f)
	{
		// Admin Editable => show only as info
		if($f[&#39;attribute&#39;]->editable_by == 1)
		{
			$field_show[] = $f;
		}
	}
}
 
if ( count( $field_show ) )
{
	$fields_html = &#39;<table class="customfields">&#39;;
	foreach ($field_show as $field)
	{
		$fields_html .= &#39;<tr>&#39;;
		$fields_html .= &#39;<td>&#39; . JText::_( $field[&#39;attribute&#39;]->eavattribute_label ) . &#39;</td>&#39;;
		Tienda::load(&#39;TiendaHelperEav&#39;, &#39;helpers.eav&#39;);
		$fields_html .= &#39;<td>&#39; . TiendaHelperEav::showField($field[&#39;attribute&#39;], $field[&#39;value&#39;]) . &#39;</td>&#39;;
		$fields_html .= &#39;</tr>&#39;;
	}
	$fields_html .= &#39;</table>&#39;;
}
?>

$fields_html  это и будут пользовательские поля.

Чтобы сделать комментарий, нужно авторизоваться на сайте!