Новости Joomla

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

goga_pgasovav

  • Захожу иногда
  • 386
  • 4 / 0
  • Внимательный джумловод
Всем привет!
Такая задача возникла: проверить, есть ли у товара хоть одна характеристика (если да, то выполнить условие вывода характеристик).
Кроме того, характеристики разбиты на несколько групп. Прежде, чем выводить название группы этих характеристик, так же хотелось бы узнать, ести ли в этой группе хоть одна х-ка. Не пойму как это сделать до цикла
Код
<?php foreach($this->product->extra_field as $extra_field){ ?>
т.е. цикла, который уже непосредственно обрабатывает каждую из характеристик.

Надеюсь понятно объяснил  ^-^
Заранее благодарю всех за помощь и ответы!
*

kit2m2

  • Живу я здесь
  • 3276
  • 268 / 0
  • Беру сайты на полное сопровождение
Такая задача возникла: проверить, есть ли у товара хоть одна характеристика (если да, то выполнить условие вывода характеристик).
Код
        <?php if (is_array($this->product->extra_field) && !empty($this->product->extra_field)){?>
            <?php foreach($this->product->extra_field as $extra_field){?>
                        Тут вывод характеристик и их опций...
            <?php }?>
        <?php }?>
« Последнее редактирование: 30.12.2022, 18:12:08 от kit2m2 »
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3276
  • 268 / 0
  • Беру сайты на полное сопровождение
Кроме того, характеристики разбиты на несколько групп. Прежде, чем выводить название группы этих характеристик, так же хотелось бы узнать, ести ли в этой группе хоть одна х-ка. Не пойму как это сделать до цикла
Тут нужно подумать, ведь характеристик есть группа, а не наоборот (у группы - характеристики)
« Последнее редактирование: 30.12.2022, 18:18:14 от kit2m2 »
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

goga_pgasovav

  • Захожу иногда
  • 386
  • 4 / 0
  • Внимательный джумловод
Код
!empty($this->product->extra_field)

Вот за это огромное спасибо! Что-то я никак не мог додуматься и сидел тупил.

А что касается групп, то я придумал такую вот, возможно немного глуповатую конструкцию...
Код
            <?php $first = true; ?>
            <?php foreach ($this->product->extra_field as $extra_field) { ?>
            <?php if ($extra_field['groupname'] != NULL && $extra_field['groupname'] == 'analogs' && $first) { ?>           
            <div class="options_group"> ... Тут начало кода группы ...
            <?php $first = false; } ?>
            ... Тут обработка всех характеристик группы ...
            <?php $first = true; ?>
            <?php foreach ($this->product->extra_field as $extra_field) { ?>
            <?php if ($extra_field['groupname'] != NULL && $extra_field['groupname'] == 'analogs' && $first) { ?>           
            </div> ... Тут конец кода группы ...
            <?php $first = false; } ?>

Получается, что надо для каждой группы аж три раза foreach вызвать :dry:
Благо у меня их всего две, и характеристик совсем немного, но выглядит как гигантская подпорка для падающей башни  *suicide*
« Последнее редактирование: 31.12.2022, 00:29:01 от goga_pgasovav »
*

sivers

  • Живу я здесь
  • 2489
  • 338 / 0
так вставьте все ИФы в один цикл - в чем проблема? А группы можно в массив писать (имена групп) потом и после цикла сможете проверить была ли конкретная группа. Функция in_array()
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

goga_pgasovav

  • Захожу иногда
  • 386
  • 4 / 0
  • Внимательный джумловод
так вставьте все ИФы в один цикл - в чем проблема? А группы можно в массив писать (имена групп) потом и после цикла сможете проверить была ли конкретная группа. Функция in_array()
Спасибо за ответ. Слишком сложно для меня звучит :(
Мне бы простой пример на пальцах, чтобы я потом смог под себя переделать.
Про in_array я знаю, но как его тут применить не понимаю.
*

sivers

  • Живу я здесь
  • 2489
  • 338 / 0
Код
$bygroup = array();
foreach ($this->product->extra_field as $ef => $extra_field){
    $group = !empty($extra_field['groupname']) ? $extra_field['groupname'] : '';
    $bygroup[$group][$ef] = &$this->product->extra_field[$ef];
}

/* если группа analogs не пустая */
if(!empty($bygroup['analogs'])){
    /*... (начало группы analogs) */
    foreach($bygroup['analogs'] as $extra_field){
       
    }
    /*... (конец группы analogs) */
}
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

goga_pgasovav

  • Захожу иногда
  • 386
  • 4 / 0
  • Внимательный джумловод
Ого! Ну такое я сам точно не осилил бы!
sivers, огромное вам спасибо! В который раз выручаете  :D
*

sivers

  • Живу я здесь
  • 2489
  • 338 / 0
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Silent_Breeze

Ответов: 52
Просмотров: 10125
Последний ответ 23.11.2023, 12:31:08
от YuryNew
Автоматическая генерация Кода товара

Автор geral

Ответов: 4
Просмотров: 1101
Последний ответ 17.03.2023, 13:21:43
от geral
Вывод характеристик товара в списке товаров (категории)

Автор voland

Ответов: 4
Просмотров: 2311
Последний ответ 17.09.2022, 13:21:03
от victorantoniak
Изменение характеристик при выборе атрибутов

Автор jimka

Ответов: 10
Просмотров: 1857
Последний ответ 06.06.2022, 19:55:57
от Mister Shadow
Дополнительное поле в значение характеристик или вставка html кода в значение

Автор emiraizh

Ответов: 8
Просмотров: 1490
Последний ответ 26.03.2022, 13:01:45
от kit2m2