Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Совмещение корзины и оплаты в "Оформление заказа"

Тема в разделе "Вопросы, советы и доработки.", создана пользователем Stork.71, 9 янв 2014.

  1. erto

    erto

    Сообщения:
    43
    Симпатии:
    6
    Баллы:
    8
    Вот такая ситуация - я пробывал скопировать содержимое файла checkout в файл cart, но там высвечивается только окончательный расчет, без ввода данных. И пробывал наоборот - все хорошо стало, но у содержимого cart css то ли сбросился, то ли не выборочно применяется.
    Как то можно вставить содержимое файла checkout в файл cart чтобы выглядело хорошо?
     
  2. Stork.71

    Stork.71 Местный

    Сообщения:
    1.043
    Симпатии:
    254
    Баллы:
    83
    скорее всего таким копированием всего подряд ничего не добьетесь.
     
  3. Stork.71

    Stork.71 Местный

    Сообщения:
    1.043
    Симпатии:
    254
    Баллы:
    83
    .checkout-button {display:none}
    Прописываем в custom.css. По идее должно работать :)
     
  4. erto

    erto

    Сообщения:
    43
    Симпатии:
    6
    Баллы:
    8
    Я вот пробую с помощью шоткодов совместить эти 2 страницы на одной.
    Пока получается, но нужно убрать некоторые вещи и это вот это чувствую будет очень нервозатратно.
     
  5. Stork.71

    Stork.71 Местный

    Сообщения:
    1.043
    Симпатии:
    254
    Баллы:
    83
    ага! ;)
    Сейчас как раз кое-что подправляю. В частности, обратно вернулся к родной системе доставки. Убрал кое-какие ненужные пункты, таблички. В общем, уплотняюсь :)
    Дойдут руки - опишу.
     
  6. erto

    erto

    Сообщения:
    43
    Симпатии:
    6
    Баллы:
    8
    Я отписываюсь как у меня успехи.
    Я соединил карту и оплату шорткодами на странице.
    Если заполняешь данные и что-то не заполнил и нажимаешь разместить заказ, то перезагружается страница и пункты карты исчезают.
    Следовательно, нужно как-то сделать проверку заполнености полей без перезагрузки? Не подскажите как?
    И второе - мне нужно убрать способы оплаты чтобы просто было "разместить заказ". Тоже не подскажите как можно сделать.
     
  7. Stork.71

    Stork.71 Местный

    Сообщения:
    1.043
    Симпатии:
    254
    Баллы:
    83
    Странно, у меня если жмакать "Разместить заказ" при незаполненных полях просто вылазит алярм "поле не заполнено..." и страница не обновляется.
    Чтобы убрать способы оплаты, попробуйте просто их отключить. ;) Ну или сделать какой-то единственный "наличными при получении" или как там у вас.
     
  8. erto

    erto

    Сообщения:
    43
    Симпатии:
    6
    Баллы:
    8
    То видимо или тема такая была либо плагин мешал.
    Кстати, хочу вас попросить написать гайд по совмещению корзины и оплаты, только на новых версиях вп и вукомерс.
     
  9. Stork.71

    Stork.71 Местный

    Сообщения:
    1.043
    Симпатии:
    254
    Баллы:
    83
    Принципиально ничего не поменялось! Я когда обновился, у меня ничего не слетело - только перводы. Так что можно делать и по старым гайдам.
    Единственный момент, но это из приятного: упростилась система доступных способов оплаты\доставки, так что у меня получилось вернуть стандартный функционал доставки, но я его там тоже немного поковеркал :) Много правил в шаблонах, страничка подуплотнилась. Сейчас пока времени нет особо писать, руки дойдут - сделаю.
     
  10. dsgray

    dsgray

    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Добрый день, ранее в папке i18n\languages находилось много файлов *.po а сейчас в этой папке всего три файла (с расширением md и pot) Не пойму теперь как мне перевести теперь фразу "платежная информация" на "контактные данные" Подскажите. может я не там ищу?
     
  11. Stork.71

    Stork.71 Местный

    Сообщения:
    1.043
    Симпатии:
    254
    Баллы:
    83
    ищите в wp-content/languages/plugins/
     
  12. dsgray

    dsgray

    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Нашел, спасибо. Оказалось, что разные фразы расположены в разных файлах, если еще Saphali установлен. Возникла еще проблема - когда удаляю перевод у фразы "Дополнительная информация", но по факту вместо пустой строки появляется английская надпись. Как можно обойти?
     
  13. Stork.71

    Stork.71 Местный

    Сообщения:
    1.043
    Симпатии:
    254
    Баллы:
    83
    не удаляйте, а оставьте пустое поле, сделайте "пробел"
    Вообще, Ваши вопросы относятся к "Локализации" ;)
     
  14. dsgray

    dsgray

    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Согласен) Долго искал материал про соединение карзины и оплаты.. самостоятельно разобрался со всем необходимым кроме перевода.. Благодарю за статью. Для своих нужд взял пункт объединения шорткодов [woocommerce_cart][hr][woocommerce_checkout], вставил функцию подсказки для корзины, удалил кнопку "Перейти к оплате", настроил поля с помощью Saphali Woocommerce Lite и отредактировал файлы перевода. (Доставку и оплату не использую, так ка необходимо, чтобы заказ приходил просто по e-mail, далее связываюсь с клиентом самостоятельно) - пока все устраивает! (хотя хочется еще почистить и облегчить страницу заказа)

    Вот пример
     
  15. dsgray

    dsgray

    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Ссылка на пример получилась кривой - вот еще раз Пример заказа
     
  16. Stork.71

    Stork.71 Местный

    Сообщения:
    1.043
    Симпатии:
    254
    Баллы:
    83
    Ну тогда для Вас подниму и разовью тему :)

    Совмещение корзины и оплаты - WP 4.0, WC 2.2
    После последнего апа Wordpress 4.0 и Woocommerce 2.2 боялся что все слетит, и готовился к наихудшему. Тем не менее, все осталось работать, проблемы возникли только с потерей переводов, но они решаются достаточно легко.
    Тем не менее, на работу я был настроен, поэтому кое-чего решил поменять. А именно - решил все-таки вернуться к родной доставке. Во-первых, не везде удобно отображались сведения о доставке, с заказами работать не очень удобно. Во-вторых, были лишние правки в ядре. В-третьих, в новых версиях стало попроще в плане совместимости: стало работать то, что раньше не хотело.

    В общем, вернулся я к родной доставке. Включил ее, настроил интересующие меня варианты. По факту, у меня включен самовывоз, а также "Единая ставка", в которую я закинул кучу нужных вариантов. (Внимание! В более поздних версиях Woocommerce система была изменена, и этот способ уже не работает)
    [​IMG]

    Цену в зависимости от доставки я не меняю: стоимость доставки покупатель оплачивает перевозчику, сколько она выйдет - я не знаю. Но глаза мозолили ярлыки "Бесплатно!", их убил небольшим кодом (добавляем в functions.php)
    PHP:
    /**
    * Переписываем функцию формирования полной лейбы для методов доставки с ценой чтобы не выводилась надпись (Бесплатно!)
    **/
    add_filter ('woocommerce_cart_shipping_method_full_label''wc_cart_totals_shipping_method_label_nofree'102);
    function 
    wc_cart_totals_shipping_method_label_nofree$label$method ) {
        
    $label $method->label;

        if ( 
    $method->cost ) {
            if ( 
    WC()->cart->tax_display_cart == 'excl' ) {
                
    $label .= ': ' wc_price$method->cost );
                if ( 
    $method->get_shipping_tax() > && WC()->cart->prices_include_tax ) {
                    
    $label .= ' <small>' WC()->countries->ex_tax_or_vat() . '</small>';
                }
            } else {
                
    $label .= ': ' wc_price$method->cost $method->get_shipping_tax() );
                if ( 
    $method->get_shipping_tax() > && ! WC()->cart->prices_include_tax ) {
                    
    $label .= ' <small>' WC()->countries->inc_tax_or_vat() . '</small>';
                }
            }
        } elseif ( 
    $method->id !== 'free_shipping' ) {
            
    $label .= ' ';
        }
         return 
    $label;
    }
    Мой хитрый код для добавления своего поля "доставка" пока больше не нужен (но может еще когда пригодится? :) ), поэтому мы его смело убиваем.

    Захотелось мне глобально "уплотнить" оформление заказа, поэтому начнем с того, что всунем родные радиобатоны доставки рядышком с полями, которые пользователь заполняет при оформлении заказа.

    Берем файлик \wp-content\plugins\woocommerce\templates\checkout\review-order.php , копируем его в wp-content\themes\wootique-child\woocommerce\checkout\ (папка с темой)
    вырезаем оттуда код <?php wc_cart_totals_shipping_html(); ?> (после <?php do_action( 'woocommerce_review_order_before_shipping' ); ?>) он нам пригодится в другом месте
    После этого можно удалить большой кусок кода - итоговую таблицу <table class="shop_table"> (заканчивая закрывающим тегом </table> ). Она нам не понадобится, так как мы все это видим выше.

    Берем файлик \wp-content\plugins\woocommerce\templates\checkout\form-shipping.php , копируем в wp-content\themes\wootique-child\woocommerce\checkout\
    вставляем туда код <h3>Способ доставки</h3> <?php wc_cart_totals_shipping_html(); ?> (после <?php do_action( 'woocommerce_before_order_notes', $checkout ); ?>)

    Теперь выбор доставки переехал, но остались кругленькие маркеры. Уберем их с помощью стилевых свойств (custom.css):
    #shipping_method {list-style: none; margin: 0 0 0.9em 0; }

    Внизу остались только варианты оплаты, поэтому надо переименовать заголовок.
    wp-content\themes\wootique-child\woocommerce\checkout\form-checkout.php (скопировал)
    Находим строку
    <h3 id="order_review_heading"><?php _e( 'Your order', 'woocommerce' ); ?></h3>
    И меняем на
    <h3 id="order_review_heading">Способ оплаты:</h3>
    Можно было бы сделать и через локализацию, но тогда потянутся другие места, где используется данная фраза.

    Дальше, немного уплотним кусок старой "корзины", убрав оттуда табличку с расчетом суммы заказа.
    Идем в \wp-content\themes\wootique-child\woocommerce\cart\cart.php (скопированный), и убираем внизу <?php woocommerce_cart_totals(); ?> (после <?php do_action( 'woocommerce_cart_collaterals' ); ?>).
    Таблицу убрали, но общую сумму заказа надо ведь где-нибудь видеть! Поэтому внизу, после таблички с товарами добавим еще одну строчку, вставив перед do_action( 'woocommerce_cart_contents' ); следующий код:
    HTML:
      ?><tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td><b>Общая сумма:</b></td>
      <td><?php wc_cart_totals_subtotal_html(); ?></td>
      </tr><?php
    К чему все это? У меня нет купонов, нет суммы доставки, налогов и других составляющих суммы заказа, поэтому длинные таблицы с расчетами всего этого мне не нужны. Просто избавимся от них, сделав страницу лаконичне и проще.

    Ну и да, как обычно правим локализацию:

    Локализация woocommerce: (\wp-content\languages\plugins\woocommerce-ru_RU.po)
    Shipping and Handling вместо «Доставка и обработка» сделал «Выберите способ доставки:»
    Billingaddress
    вместо «Адрес оплаты» сделал «Адрес доставки» (заголовок в e-mailсообщении)

    Локализация saphali_wc_lite : (\wp-content\plugins\saphali-woocommerce-lite\languages\woocommerce-ru_RU.po)
    BillingAddress вместо «Реквизиты для оплаты» сделал «Адрес доставки
    Billing &amp; Shipping вместо «Платежные данные и доставка» сделал «Реквизиты покупателя» (надпись в корзине)

    В результате имеем вот что:
    2014-11-11_094328.jpg

    http://akip.com.ua/checkout/
     
    Последнее редактирование: 10 дек 2015
    • Нравится Нравится x 1
  17. Crescq

    Crescq

    Сообщения:
    20
    Симпатии:
    2
    Баллы:
    3
    Ребята подскажите, вес интернет перерыл так и не нашел ответа, вообще у меня много вопросов!
    1. Как сделать выбор и вариацию доставки в зависимости от города, сделал города выпадающим списком и хотелось бы что бы для каждого города была возможность выбора доставки.
    2. Как сделать что бы товар не оплачивался через робокассу а уходил сначала менеджеру, а после проверки высылали бы письмо с ссылкой на оплату.
    Это вообще возможно сделать?
     
  18. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.273
    Симпатии:
    724
    Баллы:
    113
    Не очень понял, где Вы сделали выпадающий список, но в любом случае, отталкиваться нужно от методов доставки. Возможно
    Table Rate Shipping for WooCommerce поможет. Были и у Saphali подобные плагины.

    Для второго случая нужно сделать просто возможность заказа, а не покупки видимо.
     
  19. Crescq

    Crescq

    Сообщения:
    20
    Симпатии:
    2
    Баллы:
    3
    Спасибо за помощь, вот что я сделал, я ограничил выбор городов, http://screenshot.su/show.php?img=f351c3ba79f25702d2df4d3fa5ccbb78.jpg
    Хочется что бы при выборе города 1 были одни виды доставки, при выборе города 2 другие виды доставки.
    Т.е. выбор способа доставки зависел от города, я думаю это было бы логично, а то некоторые выберут товар и оплатят с другой доставкой.
    На плагин, что вы дали ссылку он установлен, все что он дает, это виды доставок.
    Что касается http://saphali.com/ - то я к ним отношусь категорично и считаю их коммерсантами, которые берут чужие плагины и дорабатывают, и продает в несколько раз дороже, возможно я и ошибаюсь, но не суть.

    >Для второго случая нужно сделать просто возможность заказа, а не покупки видимо.
    Буду вам очень благодарен, если подскажите как сделать, просто хочется проверить в ручную, перед тем как человек оплатит безналичным расчетом или каким другим способом.
     
  20. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.273
    Симпатии:
    724
    Баллы:
    113