Вход • Регистрация

Оотображение характеристики товара с одним параметром

  • 16 апреля 2021 г.
  • Всем привет!
    Как вывести одну характеристику товара так же, как если бы их было много. Объясню, есть шкаф с тремя размерами (параметрами), который отображается как нужно и есть шкаф одного размера но размер его так не отображается, если я добавляю один размер (параметр). Получается, чтобы это поле высветилось должно быть не менее 2 параметров. Как это обойти? Чтобы один параметр отображался так же как у соседа с тремя параметрами? Пусть пользователь провалиться в список а там один параметр, не страшно. Главное чтобы вид был одинаковый.
    • 16 апреля 2021 г. , редакция: 16 апреля 2021 г.
    • в папке custom/тема/modules/shop/views/ должен быть файл shop.view.buy_form.php
      В нем нужно заменить
      Код
      if(count($result["row"]["param_multiple"][$param["id"]]) == 1)
      {
      foreach ($result["row"]["param_multiple"][$param["id"]] as $value => $depend)
      {
      echo '<input type="hidden" name="param'.$param["id"].'" value="'.$value.'"'.($depend == 'depend' ? ' class="depend_param js_shop_depend_param"' : '').'>';
      }
      }

      на
      Код
      if(count($result["row"]["param_multiple"][$param["id"]]) == 1)
      {
      foreach ($result["row"]["param_multiple"][$param["id"]] as $value => $depend)
      {
      foreach ($param["values"] as $pvalue)
      {
      if ($pvalue["id"] == $value)
      {
      echo $param["name"].':'.$pvalue["name"];
      break;
      }
      }
      echo '<input type="hidden" name="param'.$param["id"].'" value="'.$value.'"'.($depend == 'depend' ? ' class="depend_param js_shop_depend_param"' : '').'>';
      }
      }

      • 19 апреля 2021 г.
      • Спасибо большое, параметр отображается. Но как сделать чтобы именно так же отображался как у соседа?
        • 19 апреля 2021 г.

        • В том же файле shop.view.buy_form.php выкиньте условие if(count($result["row"]["param_multiple"][$param["id"]]) == 1) .
          не забывайте делать бекап файла

          Код
          if(! empty($result["row"]["param_multiple"][$param["id"]]))
          {

          $select = '';
          foreach ($param["values"] as $value)
          {
          if(! empty($result["row"]["param_multiple"][$param["id"]][$value["id"]]))
          {
          if(! $select)
          {
          $select = ' '.$param["name"].' <select name="param'.$param["id"].'" class="shop-dropdown inpselect'.($result["row"]["param_multiple"][$param["id"]][$value["id"]] == 'depend' ? ' depend_param js_shop_depend_param' : '').'">';
          }

          $select .= '<option value="'.$value["id"].'"'
          .(! empty($value["selected"]) ? ' class="js_form_option_selected" selected' : '')
          .'>'.$value["name"].'</option>
          ';
          }
          }
          if($select)
          {
          echo $select.'</select> ';
          }
          }
          • 19 апреля 2021 г.
          • Павел, огромное спасибо, все заработало как надо. Так же поменял на карточке товара, там такой же код.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум