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

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

Stork.71

Гуру
Местный
Значит надо развернуться и пойти в обратную сторону. Не отключать аякс, а подключить удаление купона к аяксу. Точнее, подключить удаление лишней labl к аяксу, работающему при удалении купона.
 

ryder

Новичок
Значит надо развернуться и пойти в обратную сторону. Не отключать аякс, а подключить удаление купона к аяксу. Точнее, подключить удаление лишней labl к аяксу, работающему при удалении купона.
Ок, спасибо за мысль. Пока этот вопрос отложил, другой функционал сайта настраиваю, позже займусь.
 

yarkij12

Новичок
Всем привет! Прошу помочь умных людей. Возникла следующая проблема: когда зарегистрированный пользователь входит на страницу своего аккаунта ( [woocommerce_my_account] ) вносит данные в раздел "адрес доставки" и "адрес оплаты", то после сохранения на странице аккаунта не отображаются поля с номером телефона и e-mail. Вопрос как реализовать вывод этой информации на странице аккаунта? Перерыл интернет, у людей возникает подобная проблема, но четкого решения нигде не описано. Также есть вопрос с непосредственным отображением вносимой инфы, сейчас при внесении данных, на странице аккаунта они отображаются следующим видом:

Адрес доставки
Изменить
Василий Теркин
Москва
Мира д32 кв149
31119

А хотелось бы более симпатично и понятно:

Ваше имя: Василий
Ваша фамилия: Теркин
Город: Москва
Адрес: Мира д32 кв149
Почтовый индекс: 31119
и т.д

Массив который выводит эту инфу (файл my-address.php) имеет следующий вид:

$address = apply_filters( 'woocommerce_my_account_my_address_formatted_address', array(
'first_name' => get_user_meta( $customer_id, $name . '_first_name', true ),
'last_name' => get_user_meta( $customer_id, $name . '_last_name', true ),
'company' => get_user_meta( $customer_id, $name . '_company', true ),
'address_1' => get_user_meta( $customer_id, $name . '_address_1', true ),
'address_2' => get_user_meta( $customer_id, $name . '_address_2', true ),
'city' => get_user_meta( $customer_id, $name . '_city', true ),
'state' => get_user_meta( $customer_id, $name . '_state', true ),
'postcode' => get_user_meta( $customer_id, $name . '_postcode', true ),
'country' => get_user_meta( $customer_id, $name . '_country', true )
), $customer_id, $name );

соответственно как в массив вставить строки типа 'Ваше имя:' 'Ваша Фамилия:' и тд?
В общем буду нереально благодарен за инфу! Надеюсь понятно описал проблему.
p.s: saphali woocommerce russian стоит, управление полями настроено как надо.
 

Mario

Новичок
Задача такая же что и ТС - совместить на одной странице корзину и оплату.
WC 2.4.0, WP 4.2.4 - все только что поставленное.
Совмещаю как советуют 2 шорткода внутри страницы Корзина:
[woocommerce_cart]
[woocommerce_checkout]
Страницы корзины и чекаута в настройках WC так же замыкаю на нее:
https://yadi.sk/i/66Df_b3HiNfJn
Но в результате все равно имею трабл с переключением способов доставки здесь
https://yadi.sk/i/eCSPydlFiNfPZ и здесь https://yadi.sk/i/f-FgmXbHiNfQv
Засада в том что эти радиокнопки в результате имеют один и тот же ID и скрипт их переключающий в них путается.

Хотел поставить class вмсето id, но не нашел в каком JS-скрипте поменять.
Есть мысли что придумать?
 

Mario

Новичок
В общем, я сделал так. Просто закомментил в шаблоне блок выводящий таблицу под названием "Ваш заказ". Задваение ID убралось и скрипты заработали.
Потом еще у меня был кривой редирект после оформления заказа - вместо финальной страницы с инфой кидало на главную.
Это прекратилось, когда в настройках WC назначил корзине - страницу корзины, а оплате - страницу оплаты, а не как я показывал выше и не как советовали в этом топике. Сделал как обычно: https://yadi.sk/i/p1LwKUD3iNmkV
Кончено это не панацея, просто мне это помогло, возможно и кому то еще поможет.
 

valerdos2109

Новичок
Ну тогда для Вас подниму и разовью тему :)

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

В общем, вернулся я к родной доставке. Включил ее, настроил интересующие меня варианты. По факту, у меня включен самовывоз, а также "Единая ставка", в которую я закинул кучу нужных вариантов.
Цену в зависимости от доставки я не меняю: стоимость доставки покупатель оплачивает перевозчику, сколько она выйдет - я не знаю. Но глаза мозолили ярлыки "Бесплатно!", их убил небольшим кодом (добавляем в 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 вместо «Платежные данные и доставка» сделал «Реквизиты покупателя» (надпись в корзине)

В результате имеем вот что:
Посмотреть вложение 952

http://akip.com.ua/checkout/

Добрый день! Расскажите, пожалуйста, подробно, как Вы прописали в Единой ставке, все необходимые способы доставки (Новая почта. Гюнсел, Интайм и т.д)
 

chusika

Новичок
всем привет! Такая проблема:
способы доставки в итоговой таблице "Ваш заказ" сделаны выпадающим меню (см. скрин)
Но, к сожалению при выборе способа доставки итоговая сумма заказа не меняется. Она меняется только, если нажать на кнопку "Обновить корзину".

На новом другом сайте стоит обновленная версия вукоммерс (шаблон другой). Там все работает, а на текущем сайте нет.
1. Пробовала обновлять вукоммерс до последней версии.
2. В настройках WC назначила корзине и оплате - страницу корзины. Хотя пробовала различные варианты - ситуация не меняется.

Очень нужна помощь!Сразу говорю, я не программист, чтобы найти 10 отличий в коде одного сайта и другого.
 

Вложения

  • Снимок.PNG
    Снимок.PNG
    44.1 KB · Просмотры: 32

searchingman

Гуру
Местный
всем привет! Такая проблема:
способы доставки в итоговой таблице "Ваш заказ" сделаны выпадающим меню (см. скрин)
Но, к сожалению при выборе способа доставки итоговая сумма заказа не меняется. Она меняется только, если нажать на кнопку "Обновить корзину".

На новом другом сайте стоит обновленная версия вукоммерс (шаблон другой). Там все работает, а на текущем сайте нет.
1. Пробовала обновлять вукоммерс до последней версии.
2. В настройках WC назначила корзине и оплате - страницу корзины. Хотя пробовала различные варианты - ситуация не меняется.

Очень нужна помощь!Сразу говорю, я не программист, чтобы найти 10 отличий в коде одного сайта и другого.
Проверил на WooCommerce 2.3.x и последней WooCommerce 2.4.x на теме storefront.
В обоих случаях при переключении доставки пересчет итога работает корректно.
Вероятно проблема с темой. Какай тема используется? Если премиум, то обращайтесь к автору темы.
 

valerdos2109

Новичок
Добрый день. Спасибо за ответ. Все понятно. Но у меня в "Единой ставке" нет почему-то "Добавочные ставки". Я назвал "Единую ставку" - Новая почта, но как метод доставки, в "Оформлении заказа" его нет. Выдает - Нет доступных методов доставки. Пожалуйста, перепроверьте указанный вами адрес или свяжитесь с руководством сайта для получения поддержки.
 

Вложения

  • Единая ставка.png
    Единая ставка.png
    116 KB · Просмотры: 26

Азат

Новичок
Здравствуйте, помогите пожалуйста, как вывести одну только цену покупок в другое место, хочу перенести корзину в определенное место, мозгов хватило только картинку корзины воткнуть туда куда мне нужно
E0A078F8428744g4.png
 

Stork.71

Гуру
Местный
Добрый день. Спасибо за ответ. Все понятно. Но у меня в "Единой ставке" нет почему-то "Добавочные ставки". Я назвал "Единую ставку" - Новая почта, но как метод доставки, в "Оформлении заказа" его нет. Выдает - Нет доступных методов доставки. Пожалуйста, перепроверьте указанный вами адрес или свяжитесь с руководством сайта для получения поддержки.
Я сижу на старом woocommerce, может сейчас что-то поменялось. А может наоборот - Вы сидите на слишком старом woocommerce :) Что за поле "Затрата"? Может это оно и есть переназванное?
Проблема с неотображением способа доставки - сюда.
 

kvo

Форумчанин
Потом еще у меня был кривой редирект после оформления заказа - вместо финальной страницы с инфой кидало на главную.
Это прекратилось, когда в настройках WC назначил корзине - страницу корзины, а оплате - страницу оплаты, а не как я показывал выше и не как советовали в этом топике. Сделал как обычно: https://yadi.sk/i/p1LwKUD3iNmkV
Кончено это не панацея, просто мне это помогло, возможно и кому то еще поможет.

Я вообще не понял, что у вас теперь работает. ))
Сделали потом вернули всё обратно?
Совмещение в Корзине двух шорткодов не работает :)
 

sqrt

Новичок
Уважаемый Stork.71 а вы экспериментировали с изменением итоговой цены или цены за доставку? стоимость доставки получаю на странице (js) как её можно "закрепить" чтобы она осталась при нажатие "подтвердить заказ" или "обновить иотг" (она же calc_shipping).
 

Stork.71

Гуру
Местный
C ценой на доставку я особо ничего не делал, так как не добовляю ее к итоговой стоимости. Вроде в самом начале когда еще были разные стоимости то все работало, так как все скрипты подгружаются. Но честно говоря не уверен, сам не сталкивался.
Можете поподробнее написать, с какой проблемой Вы столкнулись? Что, куда, откуда, зачем и т.д....
 

Ruckus

Новичок
Подскажите, пытался сдвоить cart и checkout. Получилась джиугда. За двоился способ оплаты и все уехало.
Все криво наверно из css, пол дня сидел изучал. Но так все и осталось глухо. Помогите люди добрые.
Еще проблема в мини корзине. Не могу понять где убрать одну из кнопок.
http://jeune-jolie.ru/checkout
 

Stork.71

Гуру
Местный
хм, не совсем пойму, что куда уехало и что криво в css. Вроде разложилось неплохо, может стоит поубирать лишние поля. Оплата задвоилась, но скорее всего потому, что Вы ее куда-тодобавили, а откуда-то не убрали. Внимательно поищите.
По поводу лишней кнопки в миникорзине - перечитайте п.3 в первом сообщении темы, там это описывается.
 
Сверху Снизу