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

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Доброго.

Делается: магазин детскои одежды.

Размеры созданы атрибутами - атрибут размер, соответственно - значения.

Что хочется: в списке товаров категории вывести атрибуты размеров, количество которых не равно нулю, т.е. есть в наличии. Вот как здесь примерно.

http://www.kinderly.ru/collection/platya-i-sarafany

Нужна подсказка - как вытащить эти самые атрибуты из базы?
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

frag79

  • Завсегдатай
  • 597
  • 61
Re: Вывести в списке товаров атрибуты
« Ответ #2 : 03.10.2013, 14:46:23 »
По примеру походу не надо класть в корзину из категории, а только выводить
Тогда можно делать запрос в БД из components\com_jshopping\templates\default1\list_products\product.php
по id товара выбирать его атрибуты.

Для независимых запрос примерно такой. Пробовал через phpMyAdmin вроде работает правильно.
 
Код: sql
SELECT `name_ru-RU` 
FROM r04oc_jshopping_attr_values as atv
INNER JOIN r04oc_jshopping_products_attr2 as attr
ON atv.value_id=attr.attr_value_id
WHERE attr.product_id=1

Ну а как его применить думаю разберетесь  ^-^
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Вывести в списке товаров атрибуты
« Ответ #3 : 03.10.2013, 16:23:32 »
фишка в том, что еще нужно отсортировать по наличию на складе и вывести только те, что в наличии есть. Простои строкои. Составить запрос я могу, я не очень как раз представляю себе как его использовать в Jshopping, ибо с ним совсем не знакома(
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

nevigen

  • Moderator
  • 8913
  • 755
  • http://n*****n.com
Re: Вывести в списке товаров атрибуты
« Ответ #4 : 03.10.2013, 16:25:28 »
есть аддон AJAX корзины у Максов, позволяет выбирать атрибуты в категории.
Если ставить в настйроках скрывать товары которых нет в наличии, то атрибуты будут скрыты.

не уверен возможно это сработает и на описанном методе... надо проверять смотреть.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

dmitry_stas

  • Профи
  • 9999
  • 948
Re: Вывести в списке товаров атрибуты
« Ответ #5 : 03.10.2013, 21:09:22 »
Цитировать
я не очень как раз представляю себе как его использовать в Jshopping

в чем именно сложность?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

frag79

  • Завсегдатай
  • 597
  • 61
Re: Вывести в списке товаров атрибуты
« Ответ #6 : 04.10.2013, 00:14:51 »
фишка в том, что еще нужно отсортировать по наличию на складе и вывести только те, что в наличии есть. Простои строкои. Составить запрос я могу, я не очень как раз представляю себе как его использовать в Jshopping, ибо с ним совсем не знакома(

А разве в Jshopping можно выставлять количество товара для каждого атрибута?
*

ELLE

  • Support Team
  • 4598
  • 867
Re: Вывести в списке товаров атрибуты
« Ответ #7 : 04.10.2013, 00:20:26 »
А разве в Jshopping можно выставлять количество товара для каждого атрибута?
можно, но это оффтоп уже :)
можно задавать и кол-во, и цену, и артикул, и вес, и картинки - http://prntscr.com/1v2irc
*

frag79

  • Завсегдатай
  • 597
  • 61
Re: Вывести в списке товаров атрибуты
« Ответ #8 : 04.10.2013, 10:54:18 »
можно, но это оффтоп уже :)
можно задавать и кол-во, и цену, и артикул, и вес, и картинки - http://prntscr.com/1v2irc

Да... уж..  :) и парвда есть, раньше зависимые атрибуты не использовал. Но суть от этого не меняеться, только запрос усложниться.

Можно наверно покурить над тем как JS выводит список, и пытаться вытянуть его в категорию. Для меня проще запросом сделать.
*

dmitry_stas

  • Профи
  • 9999
  • 948
Re: Вывести в списке товаров атрибуты
« Ответ #9 : 04.10.2013, 11:30:11 »
Цитировать
Составить запрос я могу, я не очень как раз представляю себе как его использовать в Jshopping

Taatshi, что именно вызывает сложность? не знаете, в каких файлах вывод? или что? что имеется в виду под "как его использовать в Jshopping" ?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Вывести в списке товаров атрибуты
« Ответ #10 : 04.10.2013, 12:17:57 »
dmitry_stas, пока отложили вопрос - это была хотелка на "если несложно" - в бюджет и в техзадание не входит. Сдам саит, если будет время свободное - вернусь к вопросу.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

Виталик

  • Группа развития
  • 1238
  • 128
Re: Вывести в списке товаров атрибуты
« Ответ #11 : 21.12.2013, 13:57:08 »
dmitry_stas, пока отложили вопрос - это была хотелка на "если несложно" - в бюджет и в техзадание не входит. Сдам саит, если будет время свободное - вернусь к вопросу.
сейчас делаю плагин для вывода атрибутов в списке товаров, хочу сделать его универсальным
скажите какие бы вам потребовались настройки этого плагина?
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Вывести в списке товаров атрибуты
« Ответ #12 : 22.12.2013, 11:01:52 »
Виталик, лично мне с моим заданием хватило бы значения атрибута и все. Если делать универсальнее - было бы неплохо так

Название: размер
Значение: 108
Количество: 5шт
Цена: 5600руб

Естественно, с настройками: показывать-не показывать

Это навскидку. Можно посидеть подумать еще..
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

Brooksus

  • Завсегдатай
  • 616
  • 157
  • Ща спою...
Re: Вывести в списке товаров атрибуты
« Ответ #13 : 22.12.2013, 12:04:22 »
http://joomlaforum.ru/index.php/topic,281541.0.html
Мне кажется, что было бы удобно, если предоставить возможность в админке выбирать для каких товаров показывать.
И еще у меня они сделаны таблицей, а лучше в дивах (у меня руки все не доходят переделать)
« Последнее редактирование: 22.12.2013, 13:11:05 от Brooksus »
Или + или YM41001160794290, или WMR R189734255107, а лучше все сразу и много.
*

Виталик

  • Группа развития
  • 1238
  • 128
Re: Вывести в списке товаров атрибуты
« Ответ #14 : 22.12.2013, 12:10:43 »
Мне кажется, что было бы удобно, если предоставить возможность в админке выбирать для каких товаров показывать.
где именно в админке?
*

Brooksus

  • Завсегдатай
  • 616
  • 157
  • Ща спою...
Re: Вывести в списке товаров атрибуты
« Ответ #15 : 22.12.2013, 12:12:51 »
Ну, где-нибудь в карточке товара на вкладке атрибутов.
И, естественно, для универсальности, что бы ссылка "купить" при выборе атрибутов работала независимо от наличия и вида модуля корзины.
« Последнее редактирование: 22.12.2013, 13:28:14 от Brooksus »
Или + или YM41001160794290, или WMR R189734255107, а лучше все сразу и много.
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Вывести в списке товаров атрибуты
« Ответ #16 : 13.04.2016, 22:59:35 »
Итак, вернемся к нашим баранам)

Код: php
                
   <?php print $attribut->selects?>             

выводит атрибуты селектом. Как бы нам это превратить в простое перечисление через запятую?
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

dmitry_stas

  • Профи
  • 9999
  • 948
Re: Вывести в списке товаров атрибуты
« Ответ #17 : 13.04.2016, 23:11:17 »
ого отложили на 2.5 года вопрос :)

а что перечислить то через запятую? значения, наименования?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Вывести в списке товаров атрибуты
« Ответ #18 : 13.04.2016, 23:46:27 »
Эт уже другой сайт - я свою тему в Google нашла)))

Мне, собственно, нужен только один атрибут - и я его уже по условию вывела. Но селектом. Из селекта в список нужно вывести значения.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

dmitry_stas

  • Профи
  • 9999
  • 948
Re: Вывести в списке товаров атрибуты
« Ответ #19 : 13.04.2016, 23:54:18 »
ну давай например регуляркой попробуем, чтобы запросов дополнительных не делать

Код
preg_match_all('~<option value="([^"]+)">([^<>]+)</option>~', $attribut->selects, $match, PREG_SET_ORDER);
print_r($match);

в $match все, но нужное думаю уже сама отберешь :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Вывести в списке товаров атрибуты
« Ответ #20 : 14.04.2016, 00:08:55 »
Это просто ужас, ужас))) Пойду отбирать) Или лучше сначала напьюсь)

Сначала проверю кое-что. Иначе у меня потом будут нерешаемые проблемы с порядком вывода. Так что дальше завтра.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

dmitry_stas

  • Профи
  • 9999
  • 948
Re: Вывести в списке товаров атрибуты
« Ответ #21 : 14.04.2016, 00:15:22 »
так, в чем дело? :) там массив обычный, что то типа
Спойлер
[свернуть]

так что не выдумывай ужасов :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dexterkirov

  • Осваиваюсь на форуме
  • 39
  • 0
Re: Вывести в списке товаров атрибуты
« Ответ #22 : 14.04.2016, 00:35:01 »
Из массива по ключу нужный атрибут. Попробуйте через var_dump найти нужный ключ. В массиве есть все.
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Вывести в списке товаров атрибуты
« Ответ #23 : 14.04.2016, 11:36:21 »
Ну, как-то так...  ^-^
Код: php
<?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 //Мне нужен был только один атрибут - размер. Поэтому проводим проверку по условию.
                            //Лучше было бы, конечно, по ID атрибута, но мне нужно отсортировать два разных атрибута с одним названием, так что мне проще по названию
                            if ($attribut->attr_name == "Размер" ):?>
                                <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 }?>
        </div>
    <?php }?>
« Последнее редактирование: 14.04.2016, 11:42:10 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

dmitry_stas

  • Профи
  • 9999
  • 948
Re: Вывести в списке товаров атрибуты
« Ответ #24 : 15.04.2016, 11:17:48 »
что то уж очень запутано итого... но блин времени нет совсем сейчас, чуть позже вникну если не забуду :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Вывести в списке товаров атрибуты
« Ответ #25 : 15.04.2016, 13:07:39 »
У меня есть великие сомнения насчет первой половины кода - где атрибуты получаем. Все остальное сугубо индивидуально и там мне все понятно. Вроде все норм.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Вывести в списке товаров атрибуты
« Ответ #26 : 04.05.2016, 13:32:46 »
Опять вернемся к нашим баранам

В том виде, в котором написано - все работает. Но. Если в настройках убрать галочку первое значение атрибута - пусто, и, следуя логике, закомментировать в моем коде

Код: php
array_shift($match);

Первое значение из списка все равно удаляется. К примеру в товаре атрибуты размера s, xs, l - выводится все, кроме s

Порылась-покопалась, но так и не разобралась  :(
« Последнее редактирование: 04.05.2016, 13:44:13 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

dmitry_stas

  • Профи
  • 9999
  • 948
Re: Вывести в списке товаров атрибуты
« Ответ #27 : 04.05.2016, 13:41:04 »
а что содержит $attribut->selects до вызова preg_match_all ?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Support Team
  • 4803
  • 453
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: Вывести в списке товаров атрибуты
« Ответ #28 : 04.05.2016, 13:44:58 »
Его нет в получаемом нами после регулярки массиве. В самом начале после foreach($attributes as $attribut) значение есть.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

dmitry_stas

  • Профи
  • 9999
  • 948
Re: Вывести в списке товаров атрибуты
« Ответ #29 : 04.05.2016, 13:52:39 »
покажи, может там не соответствует регулярке первая опция?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вынести атрибуты в список товаров?

Автор 3axap-superstar

Ответов: 47
Просмотров: 8781
Последний ответ 04.07.2017, 11:17:53
от Nathalie_11
Добавление товара с атрибутами в корзину из списка товаров

Автор threemonkeys

Ответов: 3
Просмотров: 175
Последний ответ 16.06.2017, 14:32:44
от threemonkeys
Получить общее количество товаров на складе

Автор miklman

Ответов: 7
Просмотров: 122
Последний ответ 24.05.2017, 15:40:38
от miklman
Скрыть отсутствующие атрибуты?

Автор MiksRUS

Ответов: 12
Просмотров: 1404
Последний ответ 30.04.2017, 14:21:27
от vipiusss
Атрибуты товара = отдельные товары

Автор imd

Ответов: 5
Просмотров: 237
Последний ответ 10.03.2017, 13:40:03
от dmitry_stas