Artyomii Posted August 3, 2013 Report Share Posted August 3, 2013 Доброго времени суток,Перенес способ оплаты на страницу доставки, но способы оплаты выводятся все не зависимо какой выбран способ доставки, данный вопрос поднимался много раз и так не решен, но NOXTER тут реализовал и не хочет помочь ни в какую, давайте общими усилиями сделаем, прошу помощи, что не так сделал, забыл или в чем ошибка!?и так все мои действия: в view\CartView.php после: $order->delivery_id = $this->request->post('delivery_id', 'integer'); добавил: $order->payment_method_id = $this->request->post('payment_method_id', 'integer'); после: // Способы доставки $deliveries = $this->delivery->get_deliveries(array('enabled'=>1)); $this->design->assign('deliveries', $deliveries); добавил: // Варианты оплаты $payment_methods = $this->payment->get_payment_methods(array('enabled'=>1)); $this->design->assign('payment_methods', $payment_methods);в design\your_theme\cart.tpl в начале в скрипты добавил: $(document).ready(function(){ var deleivery = $("input[name=delivery_id]:checked").attr('id'); var checked = $("input[name=delivery_id]:checked").attr('value'); $.ajax({ url: "ajax/cart_update.php", data: {'delivery_id':checked}, success: function(data){ if(data){ $('#payments').html(data.payment); $("input[id="+deleivery+"]").attr('checked', true); $("#payments").animate({'opacity':'1'}, 0); } } }); }); function get_payment(delivery_id) { var deleivery = $("input[name=payment_method_id]:checked").attr('id'); $("#payments").append('<img src="design/{/literal}{$settings->theme}{literal}/images/loader.gif" title="Выполняю..." alt="Выполняю..." style="z-index: 99; position: absolute">'); $("#payments").animate({'opacity':'0.3'},600); $.ajax({ url: "ajax/cart_update.php", data: {'delivery_id':delivery_id}, success: function(data){ if(data){ $('#payments').html(data.payment); $("input[id="+deleivery+"]").attr('checked', true); $("#payments").animate({'opacity':'1'}, 0); } } }); } в доставке input-у добавил onclick="get_payment('{$delivery->id}',$(this).val());" после: {* Доставка *} {if $deliveries} ... {/if} добавил: {* Выбор способа оплаты *} {if $payment_methods && !$payment_method} <h2>Выберите способ оплаты</h2> <ul id="payments"> {foreach $payment_methods as $payment_method} <li> <div class="checkbox"> <input type=radio name=payment_method_id value='{$payment_method->id}' {if $payment_method@first}checked{/if} id=payment_{$payment_method->id}> </div> <h3><label for=payment_{$payment_method->id}> {$payment_method->name}{*, к оплате {$cart->total_price|convert:$payment_method->currency_id} {$all_currencies[$payment_method->currency_id]->sign}*}</label></h3> <div class="description"> {$payment_method->description} </div> </li> {/foreach} </ul> {/if} в design\your_theme\ создал cart_payment.tpl в него добавил: {foreach $payment_methods as $payment_method} <li> <div class="checkbox"> <input type=radio name=payment_method_id value='{$payment_method->id}' {if $payment_method@first}checked{/if} id=payment_{$payment_method->id}> </div> <h3><label for=payment_{$payment_method->id}> {$payment_method->name}{*, к оплате {$cart->total_price|convert:$payment_method->currency_id} {$all_currencies[$payment_method->currency_id]->sign}*}</label></h3> <div class="description"> {$payment_method->description} </div> </li> {/foreach} в ajax\cart_update.php после: // Способы доставки $deliveries = $simpla->delivery->get_deliveries(array('enabled'=>1)); $simpla->design->assign('deliveries', $deliveries); $delivery = $simpla->design->fetch('cart_deliveries.tpl'); добавил: // Варианты оплаты $payment_methods = $simpla->payment->get_payment_methods(array('delivery_id'=>$cart->delivery_id, 'enabled'=>1)); $simpla->design->assign('payment_methods', $payment_methods); $payment = $simpla->design->fetch('cart_payment.tpl'); в $result = array('total' => $total, ... 'delivery' => $delivery,); после: 'delivery' => $delivery, добавил: 'payment' => $payment,вот вообщем то и все но не работает! кто поможет подскажет?подозреваю ошибка в cart_update.php вот (array('delivery_id'=>$cart->delivery_id, 'enabled'=>1)) возможно что то и упустил... Quote Link to post Share on other sites
osben Posted August 3, 2013 Report Share Posted August 3, 2013 А почему Вы не хотите заплатить денежку за труд? и доверить дело проф. Quote Link to post Share on other sites
Noxter Posted August 3, 2013 Report Share Posted August 3, 2013 А почему Вы не хотите заплатить денежку за труд? и доверить дело проф.Видимо потому что не хочет платить. В ЛС только и пишет дабы сделали за 0. Quote Link to post Share on other sites
Artyomii Posted August 3, 2013 Author Report Share Posted August 3, 2013 (edited) Видимо потому что не хочет платить. В ЛС только и пишет дабы сделали за 0.Noxter не стыдно врать????а это что по вашему уже третье сообщение в личку:"Отправить 30.07.2013 - 20:08вы же реализовали http://forum.simplac...plati-/?p=24848может подскажите что и как или скока стоит ваша помощь?"а в ответ тишина была до сих пор!!! Noxter Вас просто жаба душит из-за того что тут реально все сделано, нехватает пару строк самой функции, не понимаю Вашу логику я Вам отправлял 4сообщения в личку и не получил ни одного вразумительного ответа кроме как съезжали с темы! а тут мы заговорили вдруг. Edited August 3, 2013 by Artyomii Quote Link to post Share on other sites
Noxter Posted August 3, 2013 Report Share Posted August 3, 2013 Noxter не стыдно врать????а это что по вашему уже третье сообщение в личку:"Отправить 30.07.2013 - 20:08вы же реализовали http://forum.simplac...plati-/?p=24848может подскажите что и как или скока стоит ваша помощь?"а в ответ тишина была до сих пор!!! Noxter Вас просто жаба душит из-за того что тут реально все сделано, нехватает пару строк самой функции, не понимаю Вашу логику я Вам отправлял 4сообщения в личку и не получил ни одного вразумительного ответа кроме как съезжали с темы! а тут мы заговорили вдруг.Ах ну да, было такое сообщение после нескольких сообщений о бесплатной помощи реализовать сие.Потому и не стал Вам больше отвечать. Quote Link to post Share on other sites
Artyomii Posted August 8, 2013 Author Report Share Posted August 8, 2013 вообщем никто мне так и не помог!!! один амбиции с работой смешивает ведя при этом себя как ребенок, другой варианты неадекватные предлагает с завышенными условиями, третий цену за такую мелочь загибает и т.д. я вообще вижу впервые такой форум где я все расписал нужно то как и говорил совсем фигня подсказать помочь а тут наоборот предлагают сделать все по своему типа по новому да еще за аэрокосмическое бабло, смешно сами счас увидите за что. кароче отдохнувший несколько дней сел сегодня и еще раз все пересмотрел, ну так вот все вышенаписанные мои действия выполняем с учетом 2-ух изменений:в ajax\cart_update.php после строк в самом начале: $variant_id = $simpla->request->get('variant_id', 'integer'); $amount = $simpla->request->get('amount', 'integer'); $remove_id = $simpla->request->get('remove_id', 'integer'); добавляем строку: $delivery_id = $simpla->request->get('delivery_id', 'integer'); ну как и говорил в строке: $payment_methods = $simpla->payment->get_payment_methods(array('delivery_id'=>$cart->delivery_id, 'enabled'=>1)); изменяем $cart->delivery_id на: $delivery_id вот и всЁ!!! всем спасибо и удачи... Quote Link to post Share on other sites
alaster Posted August 9, 2013 Report Share Posted August 9, 2013 вообщем никто мне так и не помог!!!Было бы круто, если Вы запятые расставляли, разделяли предложения. Вообщем, выражали свои мысли, как положено homo sapiens sapiens. В противном случае, все Ваши сообщения больше похожи на бурный поток сознания. Нам денег за телепатию не платят. Quote Link to post Share on other sites
Vladq Posted August 12, 2013 Report Share Posted August 12, 2013 20$ это стоило у Нокстера.ТС, купи и не мучься. Quote Link to post Share on other sites
Noxter Posted August 12, 2013 Report Share Posted August 12, 2013 20$ это стоило у Нокстера.ТС, купи и не мучься.Собсно где Вы такую цену увидели? Quote Link to post Share on other sites
Artyomii Posted August 13, 2013 Author Report Share Posted August 13, 2013 Собсно где Вы такую цену увидели?Noxter тема уже решена давно и можно установить статус "Решено" P.S. Kors1. Со стороны сервера: решение довольно нерационально, так как при каждом выборе доставки делается HTTP-запрос к серверу, что необоснованно загружает ресурсы. Куда проще и рациональнее было бы использовать jquery, show(), hide(). здесь спорный вопрос и у аякса и у jquery есть свои недостатки, но на счет него была мысль и делал но не помню из-за чего отказался совсем. 2. Со стороны покупателя: если выбрана оплата, а потом перещелкнута доставка, то выбор оплаты пропадает, что довольно неудобно...что за белеберду вы написали сами поняли? ничто ни куда не пропадает.... Quote Link to post Share on other sites
Artyomii Posted August 13, 2013 Author Report Share Posted August 13, 2013 Если дадите ссылочку, где у Вас работает и не пропадает, можно будет обсудить по делу... способы оплаты зависят от выбранной доставки!!!если я выберу другую доставку то и способы оплаты будут другие. Quote Link to post Share on other sites
Artyomii Posted August 13, 2013 Author Report Share Posted August 13, 2013 Спасибо за разъяснение очевидных вещей. Мне кажется, Вы слабо поняли поднятый мной вопрос. Объясняю точнее:Допустим:1. есть два способа доставки Д1, Д2.2. есть три способа оплаты О1, О2, О3.3. для Д1 допустимы О1, О3.4. для Д2 допустимы О2, О3. При Вашем способе возможна ситуация1. Покупатель выбрал Д1 и О3. Все хорошо.2. Затем покупатель решил поменять Д1 на Д2. И Вы ему заново загрузите список О2, О3, в котором выбранный ранее метод О3 не будет отмечен... Вот и выходит со стороны покупателя: если выбрана оплата, а потом перещелкнута доставка, то выбор оплаты пропадает, что довольно неудобно... Однако, мой вопрос о ссылке остался без ответа. Как известно, лучше один раз увидеть...да это я в курсе был, просто меня не беспокоит т.к. у меня такого нету, но я думал что если будет то вот тогда придется дописывать чтобы сохранялось )))) Quote Link to post Share on other sites
Artyomii Posted August 13, 2013 Author Report Share Posted August 13, 2013 глупости и замарачиваетесь больше, невозможно подстроится под всех, по вашей логике(варианту) такое может быть 3% из 100 т.к. при отправки заказа пользователь все равно проверит всЁ (вариантов оплаты не 150 и кликнуть нет сложности), а еще может быть и наоборот кроме его выбранного способа оплаты будет как раз тот вариант который он искал, и в конце концов это не последний момент где он может изменить способ оплаты!ИМХО вашей логике, а может пользователь вообще вариант доставки в конце захочет сменить!? а вообще зачем он все купил...)))KORS не занимайтесь казуистикой... Quote Link to post Share on other sites
visier Posted November 22, 2013 Report Share Posted November 22, 2013 Народ подскажите а что за файл ajax\cart_update.php и где его взять? Quote Link to post Share on other sites
Rash Posted November 22, 2013 Report Share Posted November 22, 2013 Народ подскажите а что за файл ajax\cart_update.php и где его взять? В корне сайта есть папка "ajax" а в нем файлик "cart_update.php" Quote Link to post Share on other sites
Noxter Posted November 22, 2013 Report Share Posted November 22, 2013 В корне сайта есть папка "ajax" а в нем файлик "cart_update.php"Но не у каждого же есть этот файлик на сайте Quote Link to post Share on other sites
visier Posted November 22, 2013 Report Share Posted November 22, 2013 Но не у каждого же есть этот файлик на сайте Ну да, а Вы знаете что это за файлик?. Quote Link to post Share on other sites
visier Posted November 22, 2013 Report Share Posted November 22, 2013 В корне сайта есть папка "ajax" а в нем файлик "cart_update.php"выложите пожалуйста архивчик! Quote Link to post Share on other sites
Noxter Posted November 22, 2013 Report Share Posted November 22, 2013 Ну да, а Вы знаете что это за файлик?. Да знаю файл AJAX обработки запросов. Quote Link to post Share on other sites
visier Posted November 22, 2013 Report Share Posted November 22, 2013 Да знаю файл AJAX обработки запросов.Можете написать, откуда он берется? Это какая то доработка? Она платная или нет? Quote Link to post Share on other sites
Noxter Posted November 22, 2013 Report Share Posted November 22, 2013 Доработка бесплатная делал Wizard, спросите у него файлик.Но там нет способа оплаты от выбора способа доставки. Quote Link to post Share on other sites
visier Posted November 22, 2013 Report Share Posted November 22, 2013 Доработка бесплатная делал Wizard, спросите у него файлик.Но там нет способа оплаты от выбора способа доставки.Вы ведь мне сделаете это? ) Quote Link to post Share on other sites
Noxter Posted December 4, 2013 Report Share Posted December 4, 2013 Вы ведь мне сделаете это? )Пишите в ЛС. Quote Link to post Share on other sites
Серега495 Posted December 29, 2014 Report Share Posted December 29, 2014 У меня работает ТАК 1)Идем в ftp по пути: view/CartView.php. И после:if(isset($_POST['checkout'])){ $order->delivery_id = $this->request->post('delivery_id', 'integer');Примерно 46 строка, после нее добавляем:$order->payment_method_id = $this->request->post('payment_method_id', 'integer');В конце, после:function fetch() { // Способы доставки $deliveries = $this->delivery->get_deliveries(array('enabled'=>1)); $this->design->assign('deliveries', $deliveries);Добавляем:// Варианты оплаты$payment_methods = $this->payment->get_payment_methods(array('enabled'=>1));$this->design->assign('payment_methods', $payment_methods); 2) Теперь идем в админку, шаблон cart.tpl. В нужное место (я вставил после выбора варианта доставки) вставляем: {* Выбор способа оплаты *}{if $payment_methods && !$payment_method}<h2>Выберите способ оплаты</h2><ul id="deliveries">{foreach $payment_methods as $payment_method}<li><div class="checkbox"><input type=radio name=payment_method_id value='{$payment_method->id}' {if $payment_method@first}checked{/if} id=payment_{$payment_method->id}></div><h3><label for=payment_{$payment_method->id}> {$payment_method->name}{*, к оплате {$cart->total_price|convert:$payment_method->currency_id} {$all_currencies[$payment_method->currency_id]->sign}*}</label></h3><div class="description">{$payment_method->description}</div></li>{/foreach}</ul>{/if} Quote Link to post Share on other sites
МарияБ Posted November 25, 2018 Report Share Posted November 25, 2018 кто может помочь с реализацией? Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.