Как при оформлении заказа отключить модули доставки и оплаты?

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 Сергей Богданец
  • Группа: Пользователь
  • Сообщений: 10
  • Регистрация: 15.04.2010

18.04.2010 21:48

Как при оформлении заказа отключить модули доставки и оплаты? дело в том что будет менеджер,который будет мониторить заказы, и из информации ему только нужен сам заказ,и адрес куда отправлять.
Нашел как сделать чтобы шаг пропускало, а как его полностью удалить?
Мне нужно удалить шаги -
Информация о доставке
Способ доставки(в настройках стоит бесплатно,то есть цену оно нигде к товару не добавляет,все остальные варианты выключены)
Информация об оплате(Оплата заказа в настройках стоит.все остальные варианты выключены )(там есть поле для заполнения Оплатить номер заказа,где вводятся цифры пользователем, его тоже нужно отключить,так как пользователь будет оплачивать заказ через банк по номеру индивидуальному номеру заказа с самой мадженты.)
(извиняюсь если вопрос где-то уже был оговорен)

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

18.04.2010 22:11

Парой строчек это не сделаешь, поэтому описываю в общих чертах.
За течение процесса оформления покупки в Magento отвечает контроллер Mage_Checkout_OnepageController
За внешний вид странички оформления покупки - класс Mage_Checkout_Block_Onepage
Ван нужно заменить эти системные классы на свои (лучше всего путём наследования от них).
В частности, в классе-заменителе Mage_Checkout_Block_Onepage вам потребуется переопределить метод getSteps, а в классе-заменителе Mage_Checkout_OnepageController - методы indexAction, saveBillingAction, saveShippingAction, savePaymentAction.

#3 Александр
  • Группа: Пользователь
  • Сообщений: 2
  • Регистрация: 31.12.2010

09.01.2011 04:22

Уважаемые специалисты, помогите разобраться! Пытаюсь своими силами реализовать первую задачу - в классе-заменителе Mage_Checkout_Block_Onepage переопределить метод getSteps. Вместо моего файла отрабатывает все равно \app\code\core\Mage\Checkout\Block\Onepage.php - что я неправильно делаю? Magento вер. 1.4.2.0. Вот что я сделал:

\app\etc\modules\anh_Checkout.xml
<?xml version="1.0"?>
<config>
        <modules>
                <anh_Checkout>
                        <active>true</active>
                        <codePool>local</codePool>
                </anh_Checkout>
        </modules>
</config>

Модуль в конфигурации виден и включен.

\app\code\local\anh\Checkout\etc\config.xml
<?xml version="1.0" encoding="utf-8"?>
<config>
        <modules>
                <anh_Checkout>
                        <version>0.1.0</version>
			<depends>
	                      <Mage_Checkout/>
                        </depends>
                </anh_Checkout>
        </modules>
        <global>
                <models>
                        <checkout>
                                [b]<rewrite>[/b]
                                        <block_onepage>anh_Checkout_Block_Onepage</block_onepage>
                                [b]</rewrite>[/b]
                        </checkout>
                </models>
        </global>
</config>

Сразу скажу, что принцип формирования файла config.xml я еще понимаю слабо - с магенто дружу только пару недель. Думаю, что именно тут ошибка.

\app\code\local\anh\Checkout\Block\onepage.php
<?php

class anh_Checkout_Block_Onepage extends Mage_Checkout_Block_Onepage {
    public function getSteps()
    {
        $steps = array();

//        if (!$this->isCustomerLoggedIn()) {
//            $steps['login'] = $this->getCheckout()->getStepData('login');
//        }
//
//        $stepCodes = array('billing', 'shipping', 'shipping_method', 'payment', 'review');
//
//        foreach ($stepCodes as $step) {
//            $steps[$step] = $this->getCheckout()->getStepData($step);
//        }

        return $steps;
    }
}

(здесь я просто для начала хочу получить пустой массив шагов)

Кэш обновлял : )

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

09.01.2011 04:43

Неправильно rewrite.
правильно:
<global>
	<blocks>
		<checkout>
			<rewrite>
				<onepage>anh_Checkout_Block_Onepage</onepage>
			</rewrite>
		</checkout>
	</blocks>
</global>


#5 Александр
  • Группа: Пользователь
  • Сообщений: 2
  • Регистрация: 31.12.2010

09.01.2011 14:24

Заработало! Спасибо! :) Копаю дальше.

#6 Алексей Калюжный
  • Группа: Пользователь
  • Сообщений: 9
  • Регистрация: 27.03.2012

29.03.2012 14:58

Делаю тоже самое, никак не могу разобраться, как подключить контроллер OnepageController.php. Подскажите, пожалуйста.

config.xml

<?xml version="1.0" encoding="utf-8"?>
<config>
	<modules>
			<Alexis_Checkout>
					<version>0.1.0</version>
					<depends>
                        <Mage_Checkout/>
                    </depends>
			</Alexis_Checkout>
	</modules>
	<global>
		<blocks>
				<checkout>
						<rewrite>
								<onepage>Alexis_Checkout_Block_Onepage</onepage>
						</rewrite>
				</checkout>
		</blocks>
	</global>
	<frontend>
        <routers>
            <Alexis_Checkout>
				<use>standard</use>
                <args>
                    <module>Alexis_Checkout</module>
					<frontName>alexischeckout</frontName>
                </args>
            </Alexis_Checkout>
        </routers>
    </frontend>
</config>


#7 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

29.03.2012 15:02

В Magento имеется 2 способа перекрытия контроллера.
Вы не соблюли технологию ни одного из них.

#8 Алексей Калюжный
  • Группа: Пользователь
  • Сообщений: 9
  • Регистрация: 27.03.2012

29.03.2012 15:15

Спасибо

Поделиться темой: