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

В наличии в карточке товара

  • 16 октября 2018 г. , редакция: 16 октября 2018 г.
  • Решил добавить после цены, поле: товар есть на складе.

    Иду в shop.view.buy_form.php
    Вижу что вывод: товар временно отсутствует идет в двух местах

    Если первый участок, как я понял, это для товара без модификаторов (цвет и т.д.), т.е. одна цена.
    Код
    if ($result["row"]["no_buy"] || empty($result["row"]["count"]))
    {
    echo '<div class="js_shop_no_buy js_shop_no_buy_good shop_no_buy shop_no_buy_good">'.$this->diafan->_('Товар временно отсутствует').'</div>';
    $hide_submit = true;
    $waitlist = true;
    }
    if(! $result["result"]["cart_link"])
    {
    $hide_submit = true;
    }


    То, далее вывод отсутствия товара, если несколько цен + вывод этих модификаторов влияющих на цену.
    Код
    foreach ($result["row"]["price_arr"] as $price)
    {
    $param_code = '';
    foreach ($price["param"] as $p)
    {
    if($p["value"])
    {
    $param_code .= ' param'.$p["id"].'="'.$p["value"].'"';
    }
    }
    if(! empty($price["image_rel"]))
    {
    $param_code .= ' image_id="'.$price["image_rel"].'"';
    }
    echo '<div class="js_shop_param_price shop_param_price shop-item-price"'.$param_code.'>';
    echo '<span class="price"><span class="js_shop_price" summ="'.$price["price_no_format"].'" format_price_1="'.$this->diafan->configmodules("format_price_1", "shop").'" format_price_2="'.$this->diafan->configmodules("format_price_2", "shop").'" format_price_3="'.$this->diafan->configmodules("format_price_3", "shop").'">'.$price["price"].'</span> '.$result["result"]["currency"];
    if(! empty($price["old_price"]))
    {
    echo '<span class="shop_old_price price-old"><span class="shop_price_value strike">'.$price["old_price"].' '.$result["result"]["currency"].'</span></span>';
    }
    if (! $price["count"] && empty($hide_submit) || empty($price["price_no_format"]) && ! $result['result']["buy_empty_price"])
    {
    echo '<span class="js_shop_no_buy shop_no_buy">'.$this->diafan->_('Товар временно отсутствует').'</span>';
    $waitlist = true;
    }
    echo '</span>';
    echo '</div>';
    }


    Добавляю выше:
    Код
    elseif (! empty($price["price"])) {
    echo '<span class=" shop_no_buy_good--green ">'.$this->diafan->_('Есть на складе').'</span>';
    }


    Соответственно вопрос, верный это метод? (на выводе товара с одной ценой не проверял).
    Если отключить кэширование, проставить хотя бы у одного цвета 0, то миллисекунды мигает форма формы ожидания.

  • 16 октября 2018 г.
  • Так же при переносе вывода выпадающего списка, выше над ценой, то соответственно последняя (цена), появляется с задержками.
    Как это реализовать правильно?
    • 16 октября 2018 г. , редакция: 16 октября 2018 г.
    • Т.е. получается мы сначала получаем $result["result"]["depends_param"], а потом отображается цена.
      В дефолтном коде, сначала получаем цену, а потом зависимые характеристики. Как без ущерба и "мигания" перенести выбор характеристик влияющих на цену, выше над ценой?
      • 16 октября 2018 г.
      • Посмотрел на http://themes.diafan.ru/adaptiveshopflowers/shop/tipy-buketov/avtorskie-bukety/bolshie-bukety/buket-pastel/ + еще от других темоделов, тоже мигает и скачет. Или это нормально и можно не парится?
        • 16 октября 2018 г.
        • мигает появление цены?
          • 16 октября 2018 г.
          • Да, но как я заметил, такое у всех, кто переносит участки кода.
            Происходит это быстро, и только при первичной загрузке, когда .js отрабатывает.
            • 16 октября 2018 г.
            • можно изначально поставить дисплей ноне, а в js допилить чтобы ставился класс актив и в css отображать его
              • 16 октября 2018 г.
              • А так уже из коробки работает, по умолчанию ноне, а потом показывается самая наименьшая цена. Но мигание все равно есть.

                Видимо это из-за особенности логики в cms, когда рендерится не основная цена, а идет выборка меньшей цены уже на морде у клиента (в вишлисте было предложение на эту тему, дать самим пользователям решать, какую цену и картинку выводить первой). И такое даже, если цена одинаковая у всех параметров. Походу я теперь понял, откуда ноги этих миганий растут.
              • 16 октября 2018 г.
              • Нет, я о другом, прочтите внимательно что я написал.
                По умолчанию дисплей ноне ставится после обработки js.

                А вообще тупо даже можно поставить style="display: none", js потом нужному сам поставит дисплей блок
  • 20 октября 2018 г.
  • Господа, вот такой вопрос, если кто баловался этим.

    В shop.view.buy_form.php есть, вывод отвечающий за саксез при добавлении товара в корзину.
    Код
    echo '<div class="error"';
    if (! empty($result["row"]["count_in_cart"]))
    {
    $measure_unit = ! empty($result["row"]["measure_unit"]) ? $result["row"]["measure_unit"] : $this->diafan->_('шт.');
    echo '>'.$this->diafan->_('В <a href="%s">корзине</a> %s %s', true, BASE_PATH_HREF.$result["result"]["cart_link"], $result["row"]["count_in_cart"], $measure_unit);
    }


    Мне он не нравится, уже тем, что это echo '<div class="error"'; (правда в диафане везде success, это почему-то error).
    Ну ладно, опустим этот момент.
    Я кастомизирую вывод (убираю $measure_unit), пишу вместо В корзине n товаров -> перейти в корзину.

    Итогово, при добавлении корзины, вывод не изменился, показывает опять сообщение в корзине n товаров.
    Обновляю страницу, и вывод уже кастомизированный.

    Это надо править в model?

Новости

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

Форум