RotaryPower Posted September 8, 2020 Share Posted September 8, 2020 Hello, please help me, to disable "Adresses" and "Shipping method" on order page. I tried to comment it out, which works, but you can't go to payment methods after I comment it out. Here is the original code from OrderController.php <?php /** * 2007-2019 PrestaShop and Contributors * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * https://opensource.org/licenses/OSL-3.0 * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to https://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2019 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ use PrestaShop\PrestaShop\Adapter\Product\PriceFormatter; use PrestaShop\PrestaShop\Core\Foundation\Templating\RenderableProxy; class OrderControllerCore extends FrontController { public $ssl = true; public $php_self = 'order'; public $page_name = 'checkout'; public $checkoutWarning = false; /** * @var CheckoutProcess */ protected $checkoutProcess; /** * @var CartChecksum */ protected $cartChecksum; /** * Initialize order controller. * * @see FrontController::init() */ public function init() { parent::init(); $this->cartChecksum = new CartChecksum(new AddressChecksum()); } public function postProcess() { parent::postProcess(); if (Tools::isSubmit('submitReorder') && $id_order = (int) Tools::getValue('id_order')) { $oldCart = new Cart(Order::getCartIdStatic($id_order, $this->context->customer->id)); $duplication = $oldCart->duplicate(); if (!$duplication || !Validate::isLoadedObject($duplication['cart'])) { $this->errors[] = $this->trans('Sorry. We cannot renew your order.', array(), 'Shop.Notifications.Error'); } elseif (!$duplication['success']) { $this->errors[] = $this->trans( 'Some items are no longer available, and we are unable to renew your order.', array(), 'Shop.Notifications.Error' ); } else { $this->context->cookie->id_cart = $duplication['cart']->id; $context = $this->context; $context->cart = $duplication['cart']; CartRule::autoAddToCart($context); $this->context->cookie->write(); Tools::redirect('index.php?controller=order'); } } $this->bootstrap(); } protected function getCheckoutSession() { $deliveryOptionsFinder = new DeliveryOptionsFinder( $this->context, $this->getTranslator(), $this->objectPresenter, new PriceFormatter() ); $session = new CheckoutSession( $this->context, $deliveryOptionsFinder ); return $session; } protected function bootstrap() { $translator = $this->getTranslator(); $session = $this->getCheckoutSession(); $this->checkoutProcess = new CheckoutProcess( $this->context, $session ); $this->checkoutProcess ->addStep(new CheckoutPersonalInformationStep( $this->context, $translator, $this->makeLoginForm(), $this->makeCustomerForm() )) ->addStep(new CheckoutAddressesStep( $this->context, $translator, $this->makeAddressForm() )); if (!$this->context->cart->isVirtualCart()) { $checkoutDeliveryStep = new CheckoutDeliveryStep( $this->context, $translator ); $checkoutDeliveryStep ->setRecyclablePackAllowed((bool) Configuration::get('PS_RECYCLABLE_PACK')) ->setGiftAllowed((bool) Configuration::get('PS_GIFT_WRAPPING')) ->setIncludeTaxes( !Product::getTaxCalculationMethod((int) $this->context->cart->id_customer) && (int) Configuration::get('PS_TAX') ) ->setDisplayTaxesLabel((Configuration::get('PS_TAX') && !Configuration::get('AEUC_LABEL_TAX_INC_EXC'))) ->setGiftCost( $this->context->cart->getGiftWrappingPrice( $checkoutDeliveryStep->getIncludeTaxes() ) ); $this->checkoutProcess->addStep($checkoutDeliveryStep); } $this->checkoutProcess ->addStep(new CheckoutPaymentStep( $this->context, $translator, new PaymentOptionsFinder(), new ConditionsToApproveFinder( $this->context, $translator ) )); } /** * Persists cart-related data in checkout session. * * @param CheckoutProcess $process */ protected function saveDataToPersist(CheckoutProcess $process) { $data = $process->getDataToPersist(); $addressValidator = new AddressValidator($this->context); $customer = $this->context->customer; $cart = $this->context->cart; $shouldGenerateChecksum = false; if ($customer->isGuest()) { $shouldGenerateChecksum = true; } else { $invalidAddressIds = $addressValidator->validateCartAddresses($cart); if (empty($invalidAddressIds)) { $shouldGenerateChecksum = true; } } $data['checksum'] = $shouldGenerateChecksum ? $this->cartChecksum->generateChecksum($cart) : null; Db::getInstance()->execute( 'UPDATE ' . _DB_PREFIX_ . 'cart SET checkout_session_data = "' . pSQL(json_encode($data)) . '" WHERE id_cart = ' . (int) $cart->id ); } /** * Restores from checkout session some previously persisted cart-related data. * * @param CheckoutProcess $process */ protected function restorePersistedData(CheckoutProcess $process) { $cart = $this->context->cart; $customer = $this->context->customer; $rawData = Db::getInstance()->getValue( 'SELECT checkout_session_data FROM ' . _DB_PREFIX_ . 'cart WHERE id_cart = ' . (int) $cart->id ); $data = json_decode($rawData, true); if (!is_array($data)) { $data = array(); } $addressValidator = new AddressValidator(); $invalidAddressIds = $addressValidator->validateCartAddresses($cart); // Build the currently selected address' warning message (if relevant) if (!$customer->isGuest() && !empty($invalidAddressIds)) { $this->checkoutWarning['address'] = array( 'id_address' => (int) reset($invalidAddressIds), 'exception' => $this->trans( 'Your address is incomplete, please update it.', array(), 'Shop.Notifications.Error' ), ); $checksum = null; } else { $checksum = $this->cartChecksum->generateChecksum($cart); } // Prepare all other addresses' warning messages (if relevant). // These messages are displayed when changing the selected address. $allInvalidAddressIds = $addressValidator->validateCustomerAddresses($customer, $this->context->language); $this->checkoutWarning['invalid_addresses'] = $allInvalidAddressIds; if (isset($data['checksum']) && $data['checksum'] === $checksum) { $process->restorePersistedData($data); } } public function displayAjaxselectDeliveryOption() { $cart = $this->cart_presenter->present( $this->context->cart ); ob_end_clean(); header('Content-Type: application/json'); $this->ajaxRender(Tools::jsonEncode(array( 'preview' => $this->render('checkout/_partials/cart-summary', array( 'cart' => $cart, 'static_token' => Tools::getToken(false), )), ))); } public function initContent() { if (Configuration::isCatalogMode()) { Tools::redirect('index.php'); } $this->restorePersistedData($this->checkoutProcess); $this->checkoutProcess->handleRequest( Tools::getAllValues() ); $presentedCart = $this->cart_presenter->present($this->context->cart); if (count($presentedCart['products']) <= 0 || $presentedCart['minimalPurchaseRequired']) { // if there is no product in current cart, redirect to cart page $cartLink = $this->context->link->getPageLink('cart'); Tools::redirect($cartLink); } $product = $this->context->cart->checkQuantities(true); if (is_array($product)) { // if there is an issue with product quantities, redirect to cart page $cartLink = $this->context->link->getPageLink('cart', null, null, array('action' => 'show')); Tools::redirect($cartLink); } $this->checkoutProcess ->setNextStepReachable() ->markCurrentStep() ->invalidateAllStepsAfterCurrent(); $this->saveDataToPersist($this->checkoutProcess); if (!$this->checkoutProcess->hasErrors()) { if ($_SERVER['REQUEST_METHOD'] !== 'GET' && !$this->ajax) { return $this->redirectWithNotifications( $this->checkoutProcess->getCheckoutSession()->getCheckoutURL() ); } } $this->context->smarty->assign([ 'checkout_process' => new RenderableProxy($this->checkoutProcess), 'cart' => $presentedCart, ]); $this->context->smarty->assign([ 'display_transaction_updated_info' => Tools::getIsset('updatedTransaction'), ]); parent::initContent(); $this->setTemplate('checkout/checkout'); } public function displayAjaxAddressForm() { $addressForm = $this->makeAddressForm(); if (Tools::getIsset('id_address') && ($id_address = (int) Tools::getValue('id_address'))) { $addressForm->loadAddressById($id_address); } if (Tools::getIsset('id_country')) { $addressForm->fillWith(array('id_country' => Tools::getValue('id_country'))); } $stepTemplateParameters = array(); foreach ($this->checkoutProcess->getSteps() as $step) { if ($step instanceof CheckoutAddressesStep) { $stepTemplateParameters = $step->getTemplateParameters(); } } $templateParams = array_merge( $addressForm->getTemplateVariables(), $stepTemplateParameters, array('type' => 'delivery') ); ob_end_clean(); header('Content-Type: application/json'); $this->ajaxRender(Tools::jsonEncode(array( 'address_form' => $this->render( 'checkout/_partials/address-form', $templateParams ), ))); } } Link to comment Share on other sites More sharing options...
tomerg3 Posted September 10, 2020 Share Posted September 10, 2020 Those are integral parts of PrestaShop, and removing them will require additional work. It may be easiest to handle that with CSS / Javascript (you may need to automatically populate them). Link to comment Share on other sites More sharing options...
musicmaster Posted September 15, 2020 Share Posted September 15, 2020 Don't outcomment them. Instead declare them something like <input type=hidden value=hiddenaddress Instead of hiddenaddress you can put in any suitable word. Note that it may be displayed in invoices. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now