VM 2.x Настраиваемые поля на странице категории.

Решение найдено:
................
Вообще ничего не выводиться этим способом:
Если в карточке товара есть это настраиваемое поле (у меня это поле с id=17), то почему то просто выводится только число 77, а если нет этого поля (не указано в админке), то вот такое:
"Warning: Invalid argument supplied for foreach() in \components\com_virtuemart\helpers\vmsmallhelper.php on line 16"
:nezn:
 
Доброго времени суток.
Ребят, подскажите, пожалуйста, как скрывать или не выводить настраиваемое поле атрибут корзины, если значение этого поля пустое?
 
Последнее редактирование:
Вышеприведённый способ имеет недостатки:
- если у одного товара есть доп. поля а у другого их нет - на странице появляются ошибки кода.
- у меня почему-то вообще не заработало, хотя я не подвергаю сомнению чужие слова - мои руки не самые прямые.
- чужой файл зачем загружать, когда должны быть решения стандартными средствами.

Я сделал так:
1) В папку component/com_virtuemart/category/ добавил файл default_addtocart.php, который взял из соседней папки "productdetails"
2) в файл com_virtuemart/category/default.php после строки
PHP:
<form method="post" class="product" action="index.php" id="addtocartproduct<?php echo $product->virtuemart_product_id ?>">
добавил код

PHP:
<!-- Пытаемся вставить ручные поля  -->
  <?php // Product custom_fields
  if (!empty($product->customfieldsCart)) {  ?>
  <div class="product-fields">
      <?php foreach ($product->customfieldsCart as $field)
      { ?><div style="display:inline-block;" class="product-field product-field-type-<?php echo $field->field_type ?>">
        <span class="product-fields-title" ><b><?php echo  JText::_($field->custom_title)?></b></span>
        <?php //echo JHTML::tooltip($field->custom_tip,  JText::_($field->custom_title), 'tooltip.png'); ?>
        <span class="product-field-display"><?php echo $field->display ?></span>

        <span class="product-field-desc"><?php echo $field->custom_field_desc ?></span>
        </div><br/ >
        <?php
      }
      ?>
  </div>
  <?php }
    /* Product custom Childs
    * to display a simple link use $field->virtuemart_product_id as link to child product_id
    * custom_value is relation value to child
    */

  if (!empty($product->customsChilds)) {  ?>
      <div class="product-fields">
        <?php foreach ($product->customsChilds as $field) {  ?>
            <div style="display:inline-block;" class="product-field product-field-type-<?php echo $field->field->field_type ?>">
            <span class="product-fields-title" ><b><?php echo JText::_($field->field->custom_title)?></b></span>
            <span class="product-field-desc"><?php echo JText::_($field->field->custom_value)?></span>
            <span class="product-field-display"><?php echo $field->display ?></span>

            </div><br/ >
            <?php
        } ?>
      </div>
  <?php } ?>

Ниже у меня идёт код отвечающий за кнопку "добавить в корзину", которая тоже добавлена на странице категорий.
А этот код можно использовать для вывода настраиваемых полей в корзине?
 
Всем добрый день,
Прошу помочь мне вывести настраиваемые поля в категории.
Virtuemart 3.0

Метод в первом сообщение не работает =(

Код /templates/[template_name]/html/com_virtuemart/category/default.php

Скрытое содержимое доступно для зарегистрированных пользователей!


Заранее большое спасибо!)
 
Всем добрый день,
Прошу помочь мне вывести настраиваемые поля в категории.
Virtuemart 3.0

Метод в первом сообщение не работает =(

Код /templates/[template_name]/html/com_virtuemart/category/default.php



Заранее большое спасибо!)
Попробуй:
<?php echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$product,'position'=>'variant')); ?>

variant - это позиция которая задана в customfields
 
попробуйте так:
PHP:
    if (!empty($product->customfields)){
    foreach ($product->customfields as $field) {
        if ($field->virtuemart_custom_id == 777)    $html .= $field->custom_value;
        }
    }
777 заменяете на ваш ID поля, вывод в переменную $html
Это универсальный пример с циклом, в котором вы можете накидать нужных вам значений по кодам полей. В частном случае можно обойтись и без цикла.
 
Есть вариант кода для многоязычного сайта на Virtuemart 3?
 
Назад
Сверху