• C
    corves

    @Andchir кэширование помогло, спасибо!

    написал в Поддержка Читать далее
  • C
    corves

    IF тоже не сработал.

    0_1590249432290_d3209fb0-b7e4-413b-b9b3-a76fa2cab154-image.png

    Попробовал операторы в 3 вариантах: !empty, notempty, isnotempty

    Конструкция

    [[!If? &subject=`[[+shk_dopColorPaluba]]` &operator=`notempty` &then=`<p class="mb-0">Цвет палубы: <img class="dopBasketImage" src="[[+shk_dopColorPaluba]]" alt=""></p>`]]
    

    написал в Поддержка Читать далее
  • C
    corves

    @Andchir, кстати вариант!

    А всё таки почему у меня TV не выводится в корзине? Вроде создал, привязал к шаблону, в товаре заполнил значение этого tv, вывести тоже вроде правильно пытаюсь [[+color]], но ничего нет...

    Может где-то надо указать какие tv должны участвовать в выборке? Как в pdoResourse?

    написал в Поддержка Читать далее
  • C
    corves

    @Andchir, документацию прочитал в первую очередь. Иначе беспокоить бы не стал.

    Плейсхолдеры выводят только значение доп поля, а мне нужно обрамить это значение примерно вот в такой формат

    <p class="mb-0">Цвет палубы: <img class="dopBasketImage" src="[[+shk_dopColorPaluba]]" alt=""></p>
    <p class="mb-0">Цвет днища: <img class="dopBasketImage" src="[[+shk_dopColorDno]]" alt=""></p>
    

    плейсхолдер [[+shk_dopColorPaluba]] выводит лишь ссылку на изображение..

    Я конечно мог бы так оставить, но в магазине есть товары без доп.опций, а используя структуру выше, к каждому товару в корзине будут подставляться слова из тега <p>

    Я использовал проверку на пустоту и всё работало

    [[+shk_dopColorPaluba:ne=``:then=`<p class="mb-0">Цвет палубы: <img class="dopBasketImage" src="[[+shk_dopColorPaluba]]" alt=""></p>`]]
    [[+shk_dopColorDno:ne=``:then=`<p class="mb-0">Цвет днища: <img class="dopBasketImage" src="[[+shk_dopColorDno]]" alt=""></p>`]]
    

    Но и тут есть загвоздка. При изменении количества товара в корзине, происходит обновление списка товаров и при этом ajax обновлении проверка на пустоту уже не проходит. В результате возле каждого товара появляется каша из символов (прикрепляю скриншот)0_1590238095744_bc3681af-2b7e-4585-9866-2638ccb24ae5-image.png

    Поэтому я и подумал не использовать костыли, а нормально вывести выбранные опции через [[+addit_data]]. Но мне нужно обрамить значения тегами.

    В документации кстати ещё написано [[+любой TV]] - любой TV-параметр, например [[+image]];
    Создал TV color, параметры ввода - текст, в текстовую область положил нужное мне обрамление тегами с плейсхолдерами, к товару TV поле назначил. В корзине вывожу такой конструкцией [[+color]] - не работает. Ничего не выводит. Хотя если бы выводил, это бы решило задачу.

    Второй день пытаюсь решить и по правильному и с костылями, пока безуспешно...

    написал в Поддержка Читать далее
  • C
    corves

    @Andchir Продолжая старую тему. Всё таки не могу понять как работать с [[+addit_data]] на странице корзины...
    Сейчас вывод опций происходит по шаблону - name value, name value, name value
    Не могу понять где править код, чтобы опции выводились по моему шаблону - name: <img src=" value "/>

    написал в Поддержка Читать далее
  • C
    corves

    Здравствуйте! На форуме нашел несколько вопросов "где формируется addit_data", но ответы на эти вопросы ссылались на документацию, а именно на вывод нужных параметров по отдельности такой конструкцией [[+shk_любой доп.параметр]].

    Этот вариант неполх, но меня не устраивает, так как заказчик может захотеть добавить в админке еще какой-либо параметр, но в корзине он не отобразится, потому что я вывожу опции по отдельности. И он будет вынужден вызванивать меня.

    Вопрос. Так всё таки в каком файле формируется содержимое addit_data?🕵

    написал в Поддержка Читать далее
  • C
    corves

    Нашел где формируется содержимое доп.поля
    core/components/shopkeeper3/elements/tv/output/shk_checkbox.class.php
    Здесь можно добавить span(с ценой). Чтобы вывести еще одно поле созданное в админке (прикрепляю скриншот), строку 21

    list($item,$itemvalue) = strpos($line,'==')!==false ? explode("==",$line) : array($line,'');

    меняете на

    list($item,$itemvalue,$itemdesc) = strpos($line,'==')!==false ? explode("==",$line) : array($line,'');

    тоесть, вся суть в добавлении третьего параметра $itemdesc (название можно вписать любое). А потом просто используем эту метку в формировании чекбокса.

    0_1550739109576_dopValue.jpg

    написал в Поддержка Читать далее
  • C
    corves

    Здравствуйте! Скажите пожалуйста, есть ли возможность вывести цену параметра, рядом с названием этого параметра? Вот такой вызов [[*dopValue:replace=`[[+id]]==[[*id]]`]] выводит нам параметры в виде input + label , input + label , input + label, а мне надо input + label + span(с ценой), input + label + span(с ценой) и тд...
    И сразу усложню вопрос - как вывести не только значение цены параметра, но и остальных значений параметра. Например если мне нужна вот такая конструкция - input + label + span(с ценой) + span(с описанием)?

    Устал искать решение и попытки тщетны... Буду рад любой помощи, догадке, наводке!

    написал в Поддержка Читать далее