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

Taatshi

  • Глобальный модератор
  • 5259
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Вывести в списке товаров атрибуты
« Ответ #30 : 04.05.2016, 14:01:45 »
Что именно показать?

Вот массив до регулярки



Как видишь, тут есть S

Вот массив после регулярки



Здесь первого значения нет

Вот сам селект

« Последнее редактирование: 04.05.2016, 14:06:47 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вывести в списке товаров атрибуты
« Ответ #31 : 04.05.2016, 15:00:24 »
ну так и есть, у первой option появился selected, регулярка уже не подходит. попробуй
Код
~<option value="(.*?)".*?>(.*?)<\/option>~
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Глобальный модератор
  • 5259
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Вывести в списке товаров атрибуты
« Ответ #32 : 04.05.2016, 15:26:51 »
Заработало )

Причем и в первом случае корректно отрабатывает - так что лучше ее и использовать.

/*впадает в нирвану*/
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Schastev

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Вывести в списке товаров атрибуты
« Ответ #33 : 11.09.2016, 17:16:19 »
сейчас делаю плагин для вывода атрибутов в списке товаров, хочу сделать его универсальным
скажите какие бы вам потребовались настройки этого плагина?
Вы сделали этот пплагин?
*

Pashtetdiz

  • Захожу иногда
  • 175
  • 4 / 0
Re: Вывести в списке товаров атрибуты
« Ответ #34 : 21.02.2017, 04:02:55 »
Всем привет! Необходимо списком вывести картинки значениев атрибутов, в моем случае это цвет, так сказать, миниатюры для наглядности (картинки) со всплывающими.
Я воспользовался решением Taatshi, спасибо за него, получилось вывести значения атрибутов(белый, черный и т.д.), которые пригодятся для всплывающих подсказок.
Код
<?php
    //Получаем значения атрибутов для товара
    $table_product = JTable::getInstance('product', 'jshop');
    $table_product->load($product->product_id);
    $table_attributes ;
    $attributesDatas = $table_product->getAttributesDatas($back_value['attr']);
    $table_product->setAttributeActive($attributesDatas['attributeActive']);
    $attributeValues = $attributesDatas['attributeValues'];
    $attributes = $table_product->getBuildSelectAttributes($attributeValues, $attributesDatas['attributeSelected']);
    if (count($attributes)){
        $_attributevalue = JTable::getInstance('AttributValue', 'jshop');
        $all_attr_values = $_attributevalue->getAllAttributeValues();
    }else{
        $all_attr_values = array();
    }
    ?>
    <?php
    //условие: если атрибуты для товара существуют
    if (count($attributes)){?>
        <div class="jshop_prod_attributes">
                <?php //перебираем массив атрибутов
                foreach($attributes as $attribut){?>
                      <?php //Мне нужен был только один атрибут Цвет. Поэтому проводим проверку по условию.            
                            if ($attribut->attr_id == "1" ):?>
                                <div class='block_attr_sel attr<?php print $attribut->attr_id?>'>
                                <?php //с помощью регулярки удаляем все лишнее, что формирует атрибуты как выпадающий список - оставляем только чистый массив данных
                                 preg_match_all('~<option value="(.*?)".*?>(.*?)<\/option>~', $attribut->selects, $match, PREG_SET_ORDER);
                                 //удаляем первое значение - в нашем массиве это слово "выберите"
                                 //array_shift($match); - мне такое не нужно, иначе вырезает первое значение
                                      //и, наконец, выводим наши многострадальные размеры. Ура и алиллуйя) И спасибо dmitry_stas за регулярку :-*
                                      foreach ($match as $k){
                                         //У меня тут в ключе двоечка - у вас может быть совершенно другое значение
                                         echo '&nbsp;'.$k[2].'&nbsp;';
                                      }?>
                                    </div>
                            <?php endif;?>
                <?php }?>
А как подредактировать код, чтобы вывести имя файлов картинок значений атрибутов (они же в базе в одной таблице), привязанных к товару, например black.gif
JS 4.16.0
« Последнее редактирование: 21.02.2017, 04:20:51 от Pashtetdiz »
*

Zelyonkin

  • Захожу иногда
  • 109
  • 0 / 0
Re: Вывести в списке товаров атрибуты
« Ответ #35 : 13.08.2019, 23:50:02 »
Просто оставлю это здесь, может кому пригодится. Шаблон менял под нужды заказчика, но думаю разберётесь, всё достаточно просто.
Файл /components/com_jshopping/templates/shop/list_products/product.php
Код
<?php 
defined('_JEXEC') or die();
jimport('joomla.application.component.controller');
?>
<?php print $product->_tmp_var_start;
?>

 <?php
$table_product = JTable::getInstance('product', 'jshop');
$table_product->load($product->product_id);

$attributesDatas = $table_product->getAttributesDatas(/*$back_value['attr']*/);
$table_product->setAttributeActive($attributesDatas['attributeActive']);
$attributeValues = $attributesDatas['attributeValues'];

$attributes = $table_product->getBuildSelectAttributes($attributeValues, $attributesDatas['attributeSelected']);
if (count($attributes)){
$_attributevalue = JTable::getInstance('AttributValue', 'jshop');
$all_attr_values = $_attributevalue->getAllAttributeValues();
}else{
$all_attr_values = array();
}

$free_attributes=$table_product->getListFreeAttributes();

$extra_fields=$table_product->getExtraFields();
?>

<div class="image">
<a href="<?php print $product->product_link?>" class="bg-img">
<img src="<?php print $product->image?>">
</a>
<?php if ($product->label_id){?>
<div class="product-label">
<?php if ($product->_label_image){?>
<img src="<?php print $product->_label_image?>" />
<?php }else{?>
<span class="label-name"><?php print $product->_label_name;?></span>
<?php }?>
</div>
<?php }?>
</div>

<div class="content">
<a href="<?php print $product->product_link?>" class="name">
<?php print $product->name?>
</a>
<div class="articul">
(Код: <?php print $product->product_ean;?>)
</div>
<div class="extra-fields">
<?php foreach($extra_fields as $extra_field){ ?>
<div class="attributes-row" extraname="<?php echo $extra_field["name"]; ?>">
<strong><?php echo $extra_field["name"]; ?>:</strong> <span><?php echo $extra_field["value"]; ?></span>
</div>
<?php }?>
</div>
<div class="description"><?php print $product->short_description;?></div>
<div class="price">
<span class="jshop_price"><?php print formatprice($product->product_price);?></span>
</div>
<div class="buttons-more">
<a href="<?php print $product->product_link?>" class="readmore">Подробнее</a>
<button class="open-order-window">Выбрать товар</button>
</div>
</div>

<form name="product" class="order-window">
<?php if (count($attributes)){?>
<div class="jshop_prod_attributes">
<?php foreach($attributes as $attribut){?>
<div class="attributes-row">
<div class="attributes_name">
<?php print $attribut->attr_name?>:<?php print $attribut->attr_description;?>
</div>
<div id='block_attr_sel_<?php print $attribut->attr_id?>' class="field">
<?php print $attribut->selects?>
</div>
</div>
<?php }?>
</div>
<?php }?>

<?php if (count($free_attributes)){?>
<div class="prod_free_attribs">
<?php foreach($free_attributes as $freeattribut){ ?>
<div class="attributes-row">
<div class="freeattribut_name">
<?php print $freeattribut->name; ?>:<?php print $freeattribut->description;?>
</div>
<div class="field">
<div class="field-minus">&#xf068;</div>
<input type="text" readonly name="freeattribut[<?php echo $freeattribut->id ?>]" value="0">
<div class="field-plus">&#xf067;</div>
</div>
</div>
<?php }?>
</div>
<?php }?>

<div class="quantity-container">
<div class="label"><?php print _JSHOP_QUANTITY?>: </div>
<div class="prod_qty">
<div class="field-minus">&#xf068;</div>
<input type="text" readonly name="quantity" class="quantity-products" value="0" /> <?php print $this->_tmp_qty_unit;?>
<div class="field-plus">&#xf067;</div>
</div>
</div>

<div class="add-to-cart-ajax"><?php print _JSHOP_ADD_TO_CART?></div>

<input type="hidden" name="to" id='to' value="cart" />
<input type="hidden" name="product_id" id="product_id" value="<?php print $product->product_id?>" />
<input type="hidden" name="category_id" id="category_id" value="<?php print $product->category_id?>" />
</form>

<?php print $product->_tmp_var_end?>
*

Taatshi

  • Глобальный модератор
  • 5259
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Вывести в списке товаров атрибуты
« Ответ #36 : 14.08.2019, 08:20:16 »
Вы бы хоть написали что меняли и что в итоге получили. Иначе точно никому не пригодится.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

resens

  • Захожу иногда
  • 88
  • 0 / 1
Re: Вывести в списке товаров атрибуты
« Ответ #37 : 17.02.2020, 14:59:33 »
А как-то можно сделать, чтоб выбор атрибута влиял на отображаемую стоимость? У меня независимый атрибут. Вывел его в select, но при выборе значений цена не меняется...
*

kit2m2

  • Живу я здесь
  • 3264
  • 267 / 0
  • Беру сайты на полное сопровождение
Re: Вывести в списке товаров атрибуты
« Ответ #38 : 17.02.2020, 15:36:27 »
Независимые атрибуты - это манипуляция с ценой товара. Цена товара и (+, -, *, /, =, %) какое то число.
Например, Цена товара + 30 рублей = Новая цена товара.

Зависимые атрибуты - это переопределение цены товара или набор формирующий цену товара. По сути каждый атрибут это быть вариантом товара со своей ценой.

Если все настроили правильно, то цена должна меняться. Если не меняется, значит где-то ошибка. Сайт покажите.
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

resens

  • Захожу иногда
  • 88
  • 0 / 1
Re: Вывести в списке товаров атрибуты
« Ответ #39 : 17.02.2020, 16:10:19 »
В админке все так и настроено:

Для товара "Горный поход" заведен 1 независимый атрибут с тремя значениями, которые плюсуют к стоимости.
В карточке товара все работает как нужно, а в категории при выборе значения атрибута стоимость не меняется. =(
Ссылка на категорию http://xn-----elceec4dddcbqzo7a1gc6f.xn--p1ai/home/peshie-turi
Вывожу атрибуты решением из этой ветки.
*

kit2m2

  • Живу я здесь
  • 3264
  • 267 / 0
  • Беру сайты на полное сопровождение
Re: Вывести в списке товаров атрибуты
« Ответ #40 : 17.02.2020, 16:53:36 »
У Вас ошибка в консоле, поэтому цена не меняется. Что-то неправильно сделали или код устарел.

Вот купите плагин и не мучайтесь (всего 500р.) - JoomShopping атрибуты в списке товаров, есть дополнительные плюшки...
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

resens

  • Захожу иногда
  • 88
  • 0 / 1
Re: Вывести в списке товаров атрибуты
« Ответ #41 : 17.02.2020, 17:12:16 »
Спасибо, позже так и сделаю.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести определённую характеристику отдельно от списка характеристик товара

Автор Silent_Breeze

Ответов: 52
Просмотров: 9770
Последний ответ 23.11.2023, 12:31:08
от YuryNew
Как создать (суб)атрибуты для части (для некоторых) атрибутов?

Автор ltdmercury

Ответов: 3
Просмотров: 997
Последний ответ 25.02.2023, 12:42:02
от kit2m2
Получить и вывести Статус заказов списком

Автор IgorGeneralov

Ответов: 5
Просмотров: 1158
Последний ответ 25.01.2023, 23:04:05
от IgorGeneralov
Вывод характеристик товара в списке товаров (категории)

Автор voland

Ответов: 4
Просмотров: 2120
Последний ответ 17.09.2022, 13:21:03
от victorantoniak
Зависимые свободные атрибуты

Автор Evgen63

Ответов: 8
Просмотров: 1325
Последний ответ 04.01.2022, 15:58:13
от Evgen63