Не выводятся значения настраиваемых полей на странице категории VirtueMart 3

  • 5 Ответов
  • 1211 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

andrey222

  • Осваиваюсь на форуме
  • ***
  • 46
  • -1
Всем привет! Версия Joomla 3.4.1, VirtueMart 3.0.10. САЙТ

Проблема заключается в том, что при выводе настраиваемых полей на странице категории VirtueMart названия есть, а значений - нет.

Правлю файл /public_html/templates/jsn_venture_free/html/com_virtuemart/sublayouts/products.php


По умолчанию настраиваемые поля не выводятся. Нашел в сети такой код и вставил его ниже артикула:

Код
	 <?php 	if($product->customfields){
foreach ($product->customfields as $customfield) {
echo "<p><strong>".$customfield->custom_title.":</strong> ".$customfield->display."</p>";
}
} ?>

С ним и наблюдается данная проблема.

Пробовал и другое решение (в админке прописал в поле позиции настраиваемого поля custom), но оно вообще не выводит даже названий:

Код
<?php
echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$product,'position'=>'custom'));
?>


Прошу знающих людей подсказать, что нужно исправить. Заранее благодарю!
« Последнее редактирование: 22.11.2016, 18:34:32 от fsv »

*

denis2008

  • Захожу иногда
  • **
  • 20
  • 2
По умолчанию поля с типом "Атрибут Корзины" должны выводиться.
А в Virtuemart-Конфигурация-Внешний вид включено "Показывать произвольные поля товаров в представлении списков"?
« Последнее редактирование: 28.09.2015, 17:03:59 от denis2008 »

*

NewUsers

  • Завсегдатай
  • *****
  • 578
  • 46
Вместо кода который ты вставил под артикул поставь вот этот
Код
<?php print_r($product->customfields); ?>

Что будет выводить на страницу?

*

andrey222

  • Осваиваюсь на форуме
  • ***
  • 46
  • -1
Вот что появляется, если заменить на указанный.

Код
Array ( [0] => stdClass Object ( [virtuemart_custom_id] => 6 [custom_parent_id] => 0 [virtuemart_vendor_id] => 1 [custom_jplugin_id] => 0 [custom_element] => [admin_only] => 0 [custom_title] => Производитель [show_title] => 1 [custom_tip] => [custom_value] => [custom_desc] => [field_type] => S [is_list] => 0 [is_hidden] => 0 [is_cart_attribute] => 0 [is_input] => 0 [layout_pos] => [custom_params] => addEmpty="0"|selectType="0"| [shared] => 0 [published] => 1 [ordering] => 0 [virtuemart_customfield_id] => 2593 [virtuemart_product_id] => 783 [customfield_value] => Zitrek [customfield_price] => [customfield_params] => [fpublished] => 0 [override] => 0 [disabler] => 0 [_varsToPushParamCustom] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [_varsToPushParamCustomField] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [_varsToPushParam] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [addEmpty] => 0 [selectType] => 0 [_xParams] => customfield_params ) [1] => stdClass Object ( [virtuemart_custom_id] => 107 [custom_parent_id] => 0 [virtuemart_vendor_id] => 1 [custom_jplugin_id] => 0 [custom_element] => [admin_only] => 0 [custom_title] => Нормативная поверхностная нагрузка, (кг/м2): [show_title] => 1 [custom_tip] => [custom_value] => [custom_desc] => [field_type] => S [is_list] => 0 [is_hidden] => 0 [is_cart_attribute] => 0 [is_input] => 0 [layout_pos] => [custom_params] => 0 [shared] => 0 [published] => 1 [ordering] => 1 [virtuemart_customfield_id] => 2594 [virtuemart_product_id] => 783 [customfield_value] => 250 [customfield_price] => [customfield_params] => [fpublished] => 0 [override] => 0 [disabler] => 0 [_varsToPushParamCustom] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [_varsToPushParamCustomField] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [_varsToPushParam] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [addEmpty] => 0 [selectType] => 0 [_xParams] => customfield_params ) [2] => stdClass Object ( [virtuemart_custom_id] => 108 [custom_parent_id] => 0 [virtuemart_vendor_id] => 1 [custom_jplugin_id] => 0 [custom_element] => [admin_only] => 0 [custom_title] => Размеры рабочей площадки, (м): [show_title] => 1 [custom_tip] => [custom_value] => [custom_desc] => [field_type] => S [is_list] => 0 [is_hidden] => 0 [is_cart_attribute] => 0 [is_input] => 0 [layout_pos] => [custom_params] => 0 [shared] => 0 [published] => 1 [ordering] => 2 [virtuemart_customfield_id] => 2595 [virtuemart_product_id] => 783 [customfield_value] => 0,7х1,6 [customfield_price] => [customfield_params] => [fpublished] => 0 [override] => 0 [disabler] => 0 [_varsToPushParamCustom] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [_varsToPushParamCustomField] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [_varsToPushParam] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [addEmpty] => 0 [selectType] => 0 [_xParams] => customfield_params ) [3] => stdClass Object ( [virtuemart_custom_id] => 109 [custom_parent_id] => 0 [virtuemart_vendor_id] => 1 [custom_jplugin_id] => 0 [custom_element] => [admin_only] => 0 [custom_title] => Максимальная высота рабочей площадки, (м): [show_title] => 1 [custom_tip] => [custom_value] => [custom_desc] => [field_type] => S [is_list] => 0 [is_hidden] => 0 [is_cart_attribute] => 0 [is_input] => 0 [layout_pos] => [custom_params] => 0 [shared] => 0 [published] => 1 [ordering] => 3 [virtuemart_customfield_id] => 2596 [virtuemart_product_id] => 783 [customfield_value] => 4,0 [customfield_price] => [customfield_params] => [fpublished] => 0 [override] => 0 [disabler] => 0 [_varsToPushParamCustom] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [_varsToPushParamCustomField] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [_varsToPushParam] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [addEmpty] => 0 [selectType] => 0 [_xParams] => customfield_params ) [4] => stdClass Object ( [virtuemart_custom_id] => 110 [custom_parent_id] => 0 [virtuemart_vendor_id] => 1 [custom_jplugin_id] => 0 [custom_element] => [admin_only] => 0 [custom_title] => Максимальная высота вышки, (м): [show_title] => 1 [custom_tip] => [custom_value] => [custom_desc] => [field_type] => S [is_list] => 0 [is_hidden] => 0 [is_cart_attribute] => 0 [is_input] => 0 [layout_pos] => [custom_params] => 0 [shared] => 0 [published] => 1 [ordering] => 4 [virtuemart_customfield_id] => 2597 [virtuemart_product_id] => 783 [customfield_value] => 4,8 [customfield_price] => [customfield_params] => [fpublished] => 0 [override] => 0 [disabler] => 0 [_varsToPushParamCustom] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [_varsToPushParamCustomField] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [_varsToPushParam] => Array ( [addEmpty] => Array ( [0] => 0 [1] => int ) [selectType] => Array ( [0] => 0 [1] => int ) ) [addEmpty] => 0 [selectType] => 0 [_xParams] => customfield_params ) )

*

andrey222

  • Осваиваюсь на форуме
  • ***
  • 46
  • -1
В этом списке нашел строчку "customfield_value" и вписал дополнительно. Вот какой код заработал:

Код
	 <?php 	if($product->customfields){
foreach ($product->customfields as $customfield) {
echo "<p><strong>".$customfield->custom_title."</strong> ".$customfield->customfield_value."</p>";
}
} ?>

Благодарю!


P.S.: denis2008, пробовал назначать атрибут корзины полям - сами по себе не выводились на страницу категории. На страницу с подробным описанием - да.
Попробовал включить "Показывать произвольные поля товаров в представлении списков" - без внедрённого вышеуказанного кода нужные поля на странице категории не выводятся. Вместе с вышеуказанным кодом - тоже. Поэтому отключил и теперь пользуюсь верхним решением.
« Последнее редактирование: 29.09.2015, 23:21:59 от andrey222 »

*

mex

  • Захожу иногда
  • **
  • 11
  • 0
Убил кучу времени решая эту проблему!
Искал даже на англоязычных источниках, ломая глаза и голову!
Каким-то непонятный чудом наткнулся на эту ветку.
Я использую вот этот код на J3, VM3.0.10.

Код
<?php if($product->customfields[0]->virtuemart_custom_id == 3){
       echo '<span class="product-field-display">';
       echo $product->customfields[0]->customfield_value;
       echo '</span>';
}?>
id==3 ID поля, выводится только значение.
Реализовано в шаблоне по типу таблицы с множеством столбиков, в каждом продублирован данный код со своим ID

только вот отображается ПЕРВОЕ заполненное поле из товара О_о
вдруг кто знает, почему так
« Последнее редактирование: 26.10.2015, 16:09:45 от mex »