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

Byakuya

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Добрый день, возможно ли добавить настраиваемое поле к категории товаров, чтобы при создании товара оно было автоматически включено и не приходилось лезть во вкладку "Настраиваемые поля" каждый раз?
*

3auka

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
Самый простой вариант делать клон товара, там остаются настраиваемые поля
*

lakshmi

  • Захожу иногда
  • 188
  • 5 / 0
Добрый день, возможно ли добавить настраиваемое поле к категории товаров, чтобы при создании товара оно было автоматически включено и не приходилось лезть во вкладку "Настраиваемые поля" каждый раз?
Может быть имеется ввиду отобразить Произвольные поля (Custom field) в категории товаров, меня это сильно интересует ^-^ Кто нибуть такое делал?
*

lakshmi

  • Захожу иногда
  • 188
  • 5 / 0
Нашел вот такой код на просторах интернета
Код
<?php // Product custom_fields
    if (!empty($product->customfields)) {  ?>
<div class="product-fields">
        <?php foreach ($product->customfields 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 } ?>
Позволяет отобразить Произвольные поля в категории товаров ;D :D *DRINK*
*

Albion84

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
А куда этот код вставить то?
*

lakshmi

  • Захожу иногда
  • 188
  • 5 / 0
А куда этот код вставить то?
Мона сюда /components/com_virtuemart/views/categories/tmpl/default.php или сюда /templates/ваш_шаблон/html/com_virtuemart/category/default.php, по желанию ;D
Файл отвечающий за отображение категорий.
*

Olga_1989

  • Новичок
  • 1
  • 0 / 0
Маленькое замечание, чтобы этот код работал, настраиваемое поле должно быть помечено как атрибут корзины!
*

lakshmi

  • Захожу иногда
  • 188
  • 5 / 0
Маленькое замечание, чтобы этот код работал, настраиваемое поле должно быть помечено как атрибут корзины!
У меня без этого работает
*

lakshmi

  • Захожу иногда
  • 188
  • 5 / 0
Нашел вот такой код на просторах интернета
Код
<?php // Product custom_fields
    if (!empty($product->customfields)) {  ?>
<div class="product-fields">
        <?php foreach ($product->customfields 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 } ?>
Позволяет отобразить Произвольные поля в категории товаров ;D :D *DRINK*
У этого кода есть одно но в нем не прописана позиция макета как например
Код
                $output .= $myTabs->startPanel( 'Характеристики', 'tab1' );
                $this->position = 'normal';
                $output .= $this->loadTemplate('customfields');
кто может подсказать как можно присвоить позицию макета для кода в категории?
*

lakshmi

  • Захожу иногда
  • 188
  • 5 / 0
У этого кода есть одно но в нем не прописана позиция макета как например
Код
                $output .= $myTabs->startPanel( 'Характеристики', 'tab1' );
                $this->position = 'normal';
                $output .= $this->loadTemplate('customfields');
кто может подсказать как можно присвоить позицию макета для кода в категории?
Во общем нашел решение если кому то пригодиться -
Код
						<?php // Product custom_fields
    if (!empty($product->customfields)) {  ?>
<div class="product-fields">
        <?php foreach ($product->customfields as $field) {
if ($field->layout_pos == 'dopfild'){?>
<div style="display:inline-block;" class="product-field product-field-type-<?php echo $field->field_type ?>">
            <span class="product-fields-title" ><strong><?php echo  JText::_($field->custom_title)?></strong></span>
             <span class="product-field-display"><?php echo $field->display ?></span>
             <span class="product-field-desc"><?php echo $field->custom_field_desc ?></span>
            </div>

            <?php }
        }
        ?>
    </div>
 
<?php } ?>
просто добавил условие
Код
if ($field->layout_pos == 'dopfild'){?>
может не совсем элегантно и возможно есть вариант по легче и проще но меня это устроило на данный момент, эта модификация отсортировала ту часть доп полей в которой прописана нужная мне позиция макета, если позиций например 3 то можно доработать условие через elseif или создать отдельный файл шаблона категории и присвоить их соответственно необходимой категории  :D *DRINK*  ;D
*

ffox

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Поле типа "Атрибут корзины" с горем пополам появилось на странице категории.
Подскажите, как вывести в категории вместо целого поля (поле select) только значения, которые присутствуют у конкретного товара?
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
Ссылка, версия?
*

ffox

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
Вы можете указывать позицию для поля
http://joomlaforum.ru/index.php/topic,200240
*

ffox

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Позицию поля мне менять не надо. Когда получится вывести значения поля для каждого товара, стилями перемещу в нужное мне место, и сделаю блок отображаемый только при перемещении курсора на картинке товара.
*

ffox

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Там я уже был. Спасибо. По последнему, описанному там способу, вывел целое поле, а вот значения никак.
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
Ваш пост непонятен, приведите детали, ссылку, скриншот настроек.
*

ffox

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Ваш пост непонятен, приведите детали, ссылку, скриншот настроек.
Ссылка на сайт http://odezhda.lviv.ua/ru-RU/golovnye-ubory
На странице категории выводится целое поле (с возможностью выбрать значение), а нужно только сами значения таблицей.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
У вас кастом поля  являются атрибутом корзины? Если да то в файле default_addtocart можно вывести php кодом:

Код
$fields = explode(';',$this->product->customfieldsCart[0]->custom_value);	
echo '<pre>';
print_r($fields);
echo '</pre>';

Получаете в $fields массив значений.

customfieldsCart[0] можете заменить на customfieldsCart[n] если у вас полей много. Вобще можете весь массив посмотреть print_r($this->product->customfieldsCart).
интернет-блог: http://websiteprog.ru
*

ffox

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Подскажите, как здесь скрин вставить?
*

ffox

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
У вас кастом поля  являются атрибутом корзины? Если да то в файле default_addtocart можно вывести php кодом:

Код
$fields = explode(';',$this->product->customfieldsCart[0]->custom_value);	
echo '<pre>';
print_r($fields);
echo '</pre>';

Получаете в $fields массив значений.

customfieldsCart[0] можете заменить на customfieldsCart[n] если у вас полей много. Вобще можете весь массив посмотреть print_r($this->product->customfieldsCart).

После вставки кода
Код
<?php echo '<pre>';
print_r($product->customfieldsCart[0]);
echo '</pre>'; ?>
на страницу категории, получил массив
http://odezhda.lviv.ua/images/2.jpg
А это скрин страницы, где выводился массив
http://odezhda.lviv.ua/images/1.jpg
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Вот они вроде:

Код
foreach($product->customfieldsCart[0]->options as $field) {
echo $field->custom_value;
}
интернет-блог: http://websiteprog.ru
*

ffox

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Вот они вроде:

Код
foreach($product->customfieldsCart[0]->options as $field) {
echo $field->custom_value;
}
Да!
Вот оно решение.
Спасибо огромное за помощь.
*

Garyk01

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Во общем нашел решение если кому то пригодиться -
Код
						<?php // Product custom_fields
    if (!empty($product->customfields)) {  ?>
<div class="product-fields">
        <?php foreach ($product->customfields as $field) {
if ($field->layout_pos == 'dopfild'){?>
<div style="display:inline-block;" class="product-field product-field-type-<?php echo $field->field_type ?>">
            <span class="product-fields-title" ><strong><?php echo  JText::_($field->custom_title)?></strong></span>
             <span class="product-field-display"><?php echo $field->display ?></span>
             <span class="product-field-desc"><?php echo $field->custom_field_desc ?></span>
            </div>

            <?php }
        }
        ?>
    </div>
<?php } ?>
Столкнулся с такой ситуацией:
В категории выводится несколько одинаковых товаров разного цвета друг за другом  - например :
- "Продукт синий"   -   "Продукт черный"   -   "Продукт красный" -

В категории для каждого товара выводится настраиваемое поле "изображение" - по этому коду, что выше.
Но если, например, в админ-панели к "Продукт синий" в "Сопутствующие товары" добавить "Продукт черный" и "Продукт красный", то у этих товаров ("Продукт черный", "Продукт красный") не выводится в категории настраиваемое поле "изображение".
В карточке товара все выводится нормально
А если удалить их из списка "Сопутствующие товары" в товаре "Продукт синий", то все поля у этих товаров выводятся нормально. 
Вот такая беда.  :(
Как побороть?
*

Sawell

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Столкнулся с такой ситуацией:
В категории выводится несколько одинаковых товаров разного цвета друг за другом  - например :
- "Продукт синий"   -   "Продукт черный"   -   "Продукт красный" -

В категории для каждого товара выводится настраиваемое поле "изображение" - по этому коду, что выше.
Но если, например, в админ-панели к "Продукт синий" в "Сопутствующие товары" добавить "Продукт черный" и "Продукт красный", то у этих товаров ("Продукт черный", "Продукт красный") не выводится в категории настраиваемое поле "изображение".
В карточке товара все выводится нормально
А если удалить их из списка "Сопутствующие товары" в товаре "Продукт синий", то все поля у этих товаров выводятся нормально. 
Вот такая беда.  :(
Как побороть?
Приветствую! Есть решение?
*

Alex_Makarov

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Всем добрый день,
Прошу помочь мне вывести настраиваемые поля в категории.
VirtueMart 3.0

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

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

Спойлер
[свернуть]

Заранее большое спасибо!
*

Snake 60

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
  • Скользкий тип...
Вот так не пробовали?
Код
<?php echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$this->product,'position'=>'my_position')); ?>
где my_position - позиция указанная в настройках настраиваемого поля

PS. Сори, ступил - это для вывода в карточке товара... для вывода в категории еще не нашел как :(
« Последнее редактирование: 10.06.2015, 17:36:07 от Snake 60 »
*

Eholov

  • Захожу иногда
  • 170
  • 14 / 0
Такой код работает, но вот настраиваемое поле с значением "Атрибут корзины" выводится в позиции addtocart и ни в какой другой. А мне надо вывести в другой позиции. Тут http://forum.virtuemart.net/index.php?topic=97419.0 обсуждаются позиции настраиваемых полей. Но по атрибутам корзины нет инфы. помогите кто знает.
*

Liss

  • Захожу иногда
  • 238
  • 10 / 0
Приветствую! Есть решение?
тоже интересует данный вопрос
*

Liss

  • Захожу иногда
  • 238
  • 10 / 0
тоже интересует данный вопрос

Видимо, все уже забили. Но решение у проблемы есть.
Суть решения заключается в написании прямого запроса в БД и отказа от попыток вывести пользовательские поля, разбирая массив $product->customfields
Очевидно, такой финт даст бОльшую нагрузку на сайт из-за увеличения запросов к БД. Во-первых, кэширование никто не отменял, во-вторых, можно немного схитрить
Код
if (!empty($product->customfields)) {
  //выводим стандартно, без запросов к БД
}
else {
  //пишем запрос в БД
}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сортировка значений фильтра Custom Filters PRO 2.3.2

Автор banditman

Ответов: 5
Просмотров: 2522
Последний ответ 30.01.2023, 17:00:05
от Танита Сар
Удалить псевдонимы товаров

Автор AHTEPO

Ответов: 9
Просмотров: 3016
Последний ответ 26.10.2020, 01:33:20
от gartes
Вывод настраиваемых полей в категории

Автор gm35

Ответов: 5
Просмотров: 1510
Последний ответ 14.08.2020, 21:20:24
от vladimirpetrovich
Вывод товаров из под категории

Автор gm35

Ответов: 1
Просмотров: 675
Последний ответ 28.04.2020, 04:13:14
от gm35
Custom Filters pro - не показывает дочерние товары при выборе фильтра

Автор djed9

Ответов: 0
Просмотров: 657
Последний ответ 01.04.2020, 11:41:43
от djed9