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

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

erto

Форумчанин
Вот такая ситуация - я пробывал скопировать содержимое файла checkout в файл cart, но там высвечивается только окончательный расчет, без ввода данных. И пробывал наоборот - все хорошо стало, но у содержимого cart css то ли сбросился, то ли не выборочно применяется.
Как то можно вставить содержимое файла checkout в файл cart чтобы выглядело хорошо?
 

Stork.71

Гуру
Местный
Вот такая ситуация - я пробывал скопировать содержимое файла checkout в файл cart, но там высвечивается только окончательный расчет, без ввода данных. И пробывал наоборот - все хорошо стало, но у содержимого cart css то ли сбросился, то ли не выборочно применяется.
Как то можно вставить содержимое файла checkout в файл cart чтобы выглядело хорошо?
скорее всего таким копированием всего подряд ничего не добьетесь.
 

erto

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

Stork.71

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

erto

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

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

Stork.71

Гуру
Местный
Странно, у меня если жмакать "Разместить заказ" при незаполненных полях просто вылазит алярм "поле не заполнено..." и страница не обновляется.
Чтобы убрать способы оплаты, попробуйте просто их отключить. ;) Ну или сделать какой-то единственный "наличными при получении" или как там у вас.
 

erto

Форумчанин
Странно, у меня если жмакать "Разместить заказ" при незаполненных полях просто вылазит алярм "поле не заполнено..." и страница не обновляется.
Чтобы убрать способы оплаты, попробуйте просто их отключить. ;) Ну или сделать какой-то единственный "наличными при
получении" или как там у вас.
То видимо или тема такая была либо плагин мешал.
Кстати, хочу вас попросить написать гайд по совмещению корзины и оплаты, только на новых версиях вп и вукомерс.
 

Stork.71

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

dsgray

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

dsgray

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

Stork.71

Гуру
Местный
не удаляйте, а оставьте пустое поле, сделайте "пробел"
Вообще, Ваши вопросы относятся к "Локализации" ;)
 

dsgray

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

Вот пример
 

dsgray

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

Вот пример



Ссылка на пример получилась кривой - вот еще раз Пример заказа
 

Stork.71

Гуру
Местный
Ну тогда для Вас подниму и разовью тему :)

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

В общем, вернулся я к родной доставке. Включил ее, настроил интересующие меня варианты. По факту, у меня включен самовывоз, а также "Единая ставка", в которую я закинул кучу нужных вариантов. (Внимание! В более поздних версиях Woocommerce система была изменена, и этот способ уже не работает)
2015-09-02_155719-jpg.1521

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

    if ( $method->cost > 0 ) {
        if ( WC()->cart->tax_display_cart == 'excl' ) {
            $label .= ': ' . wc_price( $method->cost );
            if ( $method->get_shipping_tax() > 0 && 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() > 0 && ! 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/
 
Последнее редактирование:
  • Like
Реакции: D&B

Crescq

Новичок
Ребята подскажите, вес интернет перерыл так и не нашел ответа, вообще у меня много вопросов!
1. Как сделать выбор и вариацию доставки в зависимости от города, сделал города выпадающим списком и хотелось бы что бы для каждого города была возможность выбора доставки.
2. Как сделать что бы товар не оплачивался через робокассу а уходил сначала менеджеру, а после проверки высылали бы письмо с ссылкой на оплату.
Это вообще возможно сделать?
 

D&B

Администратор
Команда форума
Местный
Не очень понял, где Вы сделали выпадающий список, но в любом случае, отталкиваться нужно от методов доставки. Возможно
Table Rate Shipping for WooCommerce поможет. Были и у Saphali подобные плагины.

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

Crescq

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

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

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