значения param_edit с типов ввода image не выводятся в корзине



  • На базовой сборке с migx пытаюсь реализовать выбор доп. параметров реализованных с помощью param_edit параметры ввода - image, вывода - по умолчанию, на странице товара картинки выводятся, цены пересчитываются, но не могу понять как вывести выбранные параметры в корзине, читала про похожую проблему на форуме здесь
    У меня так: 0_1472746974468_н1.png Не уверенна, что поняла правильно, но действительно ли в моем случае нельзя вывести 0_1472746983027_н2.png ```
    С типом вывода по умолчанию картинки выводятся, в другом случае нет 0_1472747241990_нов.png
    Шаблон properties_table

    div class="product-options">
        [[+inner]]
    </div>
    <!--tpl_separator-->
    <input type="radio" class="radio-a input-hidden shk_param" value="[[+idx]]__[[+field2]]" name="color__[[*id]]" id="color__[[*id]]__[[+idx]]" onclick="SHK.additOpt(this)"/>
    <label  for="color__[[*id]]__[[+idx]]" class="curs">
        <div class="coltex">[[+field3]]</div>
        <img  class="radio-a img-responsive" src="[[!phpthumbon?input=`/assets/files/[[+field1]]`&options=`w=70&h=70&zc=1`]]" title="[[+field3]]">
    </label>
    

    А с помощью additParamSource вообще не выводятся картинки на странице товара.
    Можно ли в этих двух вариантах как-то вывести выбранные параметры в корзине? Когда имела дело с обычными ресурсами, а не с migx выводила через [[shk_karkas]]



  • Подскажите, возможно ли вообще при помощи getResourceField вывести картинки корректно и передать параметры TV в корзину? В документации к getResourceField не прописано никакого tpl шаблона. В моем случае выводится только путь к картинке (как показано на скриншоте)


  • Администраторы

    В моем случае выводится только путь к картинке (как показано на скриншоте)

    В чём проблема превратить этот путь в реальную картинку?

    А с помощью additParamSource вообще не выводятся картинки на странице товара.

    additParamSource относится к корзине, а не к странице товара.

    getResourceField нужно использовать для того чтобы достать значение, а для вывода - param_edit_table.

    [[param_edit_table?
    &tvValue=`[[getResourceField?........]]`
    &tpl=`properties_table`
    ]]
    


  • @Andchir спасибо!!! Вот так получилось вывести нормально.

    [[param_edit_table?
    &tvValue=`[[getResourceField?........]]`
    &tpl=`properties_table`
    ]]
    

    Только не пойму как выводить в корзине с параметром ChangePrise - нет.
    [[addite_data]] выводит с ценой в скобках, но если картинка, то только путь прописывает. А если прописываю каждый параметр отдельно с [[shk_param..]] то выводит название параметра (и это круто!), но тогда не прописывает цену в скобках. Как корректно выводить картинки в корзине? Или же лучше прописать ChangePrise - да и выводить только название цвета ли доп. параметра.
    0_1473357181622_пост1.png



  • @Andchir @Olika и как прописать img src картинке в корзине? Я просто понимаю что картинка это первое поле, его в инпуте нет. А оно откуда то вылазит. Нужное поле можно добавить в value и тогда оно нормально выводится, но цену не пересчитывает.



  • @arkadyexp Следите за этой темой, если решу обработку фото в админке, то добавлю свое решение http://forum.modx-shopkeeper.ru/topic/784/param_edit-image-передача-в-корзину/4



  • @Cresca Я так понял что решения ждать не стОит?


  • Администраторы

    Если это просто цвет, который не влияет на цену, то не вижу никакой проблемы, надо внимательно читать документацию.
    Пример для вашего случая:

    <div class="product-options">
        [[+inner]]
    </div>
    <!--tpl_separator-->
    <input type="radio" class="radio-a input-hidden shk_param" value="[[+field2]]" name="color__[[*id]]__add" id="color__[[*id]]__[[+idx]]" />
    <label  for="color__[[*id]]__[[+idx]]" class="curs">
        <div class="coltex">[[+field3]]</div>
        <img  class="radio-a img-responsive" src="[[!phpthumbon?input=`/assets/files/[[+field1]]`&options=`w=70&h=70&zc=1`]]" title="[[+field3]]">
    </label>
    

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

    value="[[+field1]]"
    


  • @Andchir спасибо что Вы с нами.
    Сопсно система для цвета товара, вся эта конструкция позволяет пользователю выбрать цвет товара и отправить его в корзину и в письме. В нашем случае цвет на цену не влияет!
    Главное чтоб в шаблоне письма orderDataRow было это после name - [[+addit_data]]

    Это работает в карточке товара (в категории наверно нет), создаем param edit всего с одним полем (не бейте за stylы - я импровизировал):

    [[*cvet:!empty=`<input type="button"  style="margin-top: 10px; margin-bottom: 0px; cursor: pointer; background: #71ccad; color:#fff;
        border: 0px solid #777; 
    font-size: 1.1em;    
        font-family: lora;     width: 70%;
         " class="btn " data-toggle="collapse" data-target="#2collapse[[*id]]"  value="Выберите цвет изделия">`]]
    [[param_edit_table?
    &docId=`[[*id]]`
    &tvName=`cvet`
    &tpl=`@CODE:
    <div class="product-options  collapse"  id="2collapse[[*id]]"  style="margin-top: 12px;"   >
        [[+inner]]
        </div>
    <!--tpl_separator-->
    <label style="border: 0px dotted #ccc; padding: 3px; font-family: Lora; border-radius: 5px;   width: 49%;">   
        <input style="margin-top: -2px;" type="checkbox" class="shk_param myscript1" value="cvet__[[+idx]]__&nbsp;<img src='[[+field1]]'  style='display: inline-block; border: 1px solid #ccc;' >&nbsp;&nbsp;Цвет изделия:&nbsp;[[!nojpg?input=`[[+field1]]`]]"  id="cvet__[[*id]]__[[+idx]]" name="cvet__[[*id]]__[[+field1]]" onclick="SHK.additOpt(this)"  [[!checking?input=`[[+idx]]`]]/>
        <img src='[[+field1]]' width='20' height='20' style='display: inline-block; border: 1px solid #ccc; margin-top: -4px;' >&nbsp;&nbsp;[[!nojpg?input=`[[+field1]]`]]
    </label>`]]
    
    • 2 сниппета для особо тяжелых случаев
      для отметки первого чекинга (если у кого стандартный вариант не пашет) - checking:
    <?php
    if ($input == 0)
    {echo "checked"; }
    

    И для обзывания цвета, а также вывода его в карточке товара и корзине.
    Обзывается цвет у нас в соответствии с файлом жпг, чтобы сто раз не писать одно и тоже - nojpg:

    <?php
    $string_1 = $input;
    $string_2 = substr($input, 0, -4);
    echo $string_2;
    

    Ну и еще куча мусора (иногда лишнего) в коде в виде стилей оформления.

    А да, чуть не забыл - чудо скрипт для выбора только одного цвета чекингом (ну чот чекинг больше приглянулся), висит внизу страницы с товаром:

     <script type="text/javascript"> 
        $('input[type="checkbox"].myscript1').on('change', function() {
       $('input[type="checkbox"].myscript1').not(this).prop('checked', false);
    });
       </script>
    

    Вот примерно так. Воротить с опциями не влияющими на цену можно что угодно, а вот с опциями влияющими - просто мрак.
    Не хочется городить в корзине то что наворочено у автора поста, да и не работает это нормально. Хочется оставить просто [[+addit_data]]. И понять хотя бы одну тупую вещь, где в файлах шопкипера определяются поля которые он отправляет в корзину, когда мы используем параметры влияющие на цену?
    По умолчанию он шлет всегда первое поле (хоть убейся), а если первое поле у нас картинка, то я даже повзрывав мозг не понял куда мне засунуть img src, не говоря уже о возможности отправить в корзину название опции field3 например. Уже несколько тем по этому поводу и нигде нет ответа(((.



  • Я конечно выкрутился с платными опциями и придумал корявенькое решение, работает только для ограниченного количества опций с картинками. Например будет у нас их три. Используем стандартный вывод param_edit_table ну что то типо этого, который уперто отсылает у меня в корзину только 1 поле при любом раскладе:

    <div class="product-options">
        [[+inner]]
    </div>
    <!--tpl_separator-->
    <label>
        <input type="radio" class="shk_param" value="[[*idx]]__[[+field2]]" name="size__[[+id]]" onclick="SHK.additOpt(this)" [[+idx:eq=`0`:then=`checked`]] />
        [[+field1]]
    </label>
    

    Создаем твэшку парамедит с двумя полями! Поле название и цена. И три твэшки img0, img1, img2. В настройке форм размещаем в шаблоне в админке поближе к твэшке парамэдита. И в шаблоне где пользователь выбирает опции с картинками пишем [[*img[[*idx]]]] рядом с полем названия цвета [[+field1]]. Так мы получим первые три опции с картинками, можно сделать больше.
    Минус метода - в корзину и письмо улетает только название, без картинки. Ну может это будет кому то достаточно. У меня просто не цвет, а опция поэтому вроде пока хватает, но хотелось бы сделать нормально.



Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.