Последние темы


Пользовательская (предложенная им) цена.

  • Друзья, доброго времени суток!

    Подскажите, пожалуйста, как реализовать пользовательскую цену (ту, которую он вводит сам).

    Имеются доп параметры param-edit с разными ценами.
    Добавил туда вариант "Свой бюджет" без цены, по клику на неё показываю input type=number , куда предлагаю юзеру ввести свою цену.
    Предполагал, что при добавлении в корзину, параметры цены берутся из value ипнутов param-edit, и сделал так чтобы при изменении поля его значение приклеивается к value "Своей цены". Однако , кликая на сабмит, в корзину передается цена по умолчанию.

    Халп, плиз, понять как передать в корзину кастомную цену!

    <h3>Выберите бюджет</h3>
     <div class="dopPrice vip" style="display: block">	
       [[*dopPrice:replace=`[[+id]]==[[*id]]`]]
    </div>
    <input type="number" id="numbers" placeholder="Ваш вариант"/>
    
    if (chpr.target.value === "6__") {
         $('#numbers').css('display','block').animate({opacity: 1}, 500);
    } 
    else {
      $('#numbers').animate({opacity: 0}, 500, function (){
         $(this).css('display','none');
      });
    }
    
    $( '#numbers' ).change(function() {
     $('div.dopPrice div:last-child input').attr('value', '6__' + $(this).val() );
    });
    

    0_1524506517549_2018-04-23_20-58-19.png

  • Написать плагин на событие "OnSHKgetProductPrice".

  • @Andchir Добрый день! Для указания цены в корзине написал плагин на событие "OnSHKgetProductPrice", как в примере по ссылке выше.
    Вызов в форме:

    <input id="itemprice" name="itemprice" size="30" class="textfield" type="text" value="[[!+fi.itemprice]]" />
    

    При отправке формы использую Formit:

    <form method="post" action="[[~[[*id]]]]" id="shopOrderFormCart">
    ...
    					[[!FormIt?				
    						&hooks=`spam,shk_fihook,email,FormItAutoResponder,redirect`
    						&emailTpl=`shopOrderReportCart`
    						&fiarTpl=`shopOrderReportCart`
    						&emailSubject=`...`
    						&fiarSubject=`...`
    						&emailTo=`...`
    						&validate=`itemprice:required,firstname:required,lastname:required,email:required,phone:required`
    						&errTpl=`<br /><span class="error">[[+error]]</span>`
    						&submitVar=`submitorder`								
    						&redirectTo=`498`
    						&store=`1`
    					]]			
    					[[!$shopOrderFormCart]]
    ...
    </form>
    

    В плагине пытаюсь читать значение поля:

    $amount = $_POST['itemprice'];
    

    И … по нулям, значение поля не приходит по какой-то причине. Буду благодарен за идею, спасибо.

  • @Roman-Dorokhov:

    При отправке формы использую Formit...

    Т.е. FormIt для отправки формы с полем пользовательской цены? Это зачем? Сначала надо добавить товар в корзину, для этого FormIt не нужен.

  • @Andchir Смысл в том, что заказчик попросил к сайту прикрутить возможность перевода средств, как "пожертвования". Для "пожертвования" я создал карточку товара с указанным именем и нулевой ценой. Логика работы - пользователь заполняет форму (Имя, Сумма...), нажимает кнопку "Оформить". По нажатию кнопки происходит вызов java-функции SHK.fillCart();.
    При заполнении корзины происходит событие OnSHKgetProductPrice, где мне необходимо передать в корзину введенную пользователем сумму. Далее, по логике работы, формируется заказ (запись в БД Shopkeeper). Затем переадресация в платежную систему.
    Собственно, весь огород ради того, чтобы учитывать в БД и такие переводы средств.

  • @Roman-Dorokhov
    Я так и не понял куда вы добавили поле с ценой.

  • @Andchir На форму оформления "пожертвования". ссылка

  • Похоже, что в этой форме у вас используется FormIt. Но, как я уже писал выше, он там не нужен. Сначала нужно добавить товар в корзину, тогда и будет срабатывать плагин. Формы добавления товара в корзину я у вас не увидел. Далее можно сделать хитрость, добавить форму (можно на этой же странице), где будет кнопка "Подтвердить" и скрытые поля, которые будут заполнены данными из предыдущей формы.
    В общем пока я не увидел даже намека на то, что Вы понимаете что делаете, поэтому дальше я не помощник.

  • @Andchir Спасибо. Получилось.

 

Последние комментарии

  • R

    @Andchir Спасибо. Получилось.

    Читать далее
  • Похоже, что в этой форме у вас используется FormIt. Но, как я уже писал выше, он там не нужен. Сначала нужно добавить товар в корзину, тогда и будет срабатывать плагин. Формы добавления товара в корзину я у вас не увидел. Далее можно сделать хитрость, добавить форму (можно на этой же странице), где будет кнопка "Подтвердить" и скрытые поля, которые будут заполнены данными из предыдущей формы.
    В общем пока я не увидел даже намека на то, что Вы понимаете что делаете, поэтому дальше я не помощник.

    Читать далее
  • K

    Уже разобрался, забыл указать тв в системных настройках tag_mgr2.numeric
    Спасибо спец. отделу. Канал открылся довольно быстро.

    Читать далее