From 08898ad4707c95e04a8dee810bab1887aa49ad53 Mon Sep 17 00:00:00 2001 From: lman-odoo Date: Thu, 8 May 2025 11:28:31 +0200 Subject: [PATCH] [IMP] ecommerce: update add to cart page task-4480769 closes odoo/documentation#13377 Signed-off-by: Xavier Platteau (xpl) --- content/applications/websites/ecommerce.rst | 1 - .../applications/websites/ecommerce/cart.rst | 111 --------- .../websites/ecommerce/cart/cart-add.png | Bin 1958 -> 0 bytes .../ecommerce/cart/cart-contactus.png | Bin 9553 -> 0 bytes .../websites/ecommerce/cart/cart-reorder.png | Bin 4447 -> 0 bytes .../websites/ecommerce/checkout.rst | 215 ++++++++++++++---- .../{cart => checkout}/cart-buy-now.png | Bin .../ecommerce/checkout/cart-contact-us.png | Bin 0 -> 6460 bytes .../ecommerce/checkout/order-again-button.png | Bin 0 -> 2598 bytes .../websites/ecommerce/products/catalog.rst | 2 +- redirects/18.0.txt | 3 +- 11 files changed, 171 insertions(+), 161 deletions(-) delete mode 100644 content/applications/websites/ecommerce/cart.rst delete mode 100644 content/applications/websites/ecommerce/cart/cart-add.png delete mode 100644 content/applications/websites/ecommerce/cart/cart-contactus.png delete mode 100644 content/applications/websites/ecommerce/cart/cart-reorder.png rename content/applications/websites/ecommerce/{cart => checkout}/cart-buy-now.png (100%) create mode 100644 content/applications/websites/ecommerce/checkout/cart-contact-us.png create mode 100644 content/applications/websites/ecommerce/checkout/order-again-button.png diff --git a/content/applications/websites/ecommerce.rst b/content/applications/websites/ecommerce.rst index 9e9eef612..f1c4d8dc5 100644 --- a/content/applications/websites/ecommerce.rst +++ b/content/applications/websites/ecommerce.rst @@ -24,7 +24,6 @@ products and increase your average cart sizes. :titlesonly: ecommerce/products - ecommerce/cart ecommerce/checkout ecommerce/payments ecommerce/shipping diff --git a/content/applications/websites/ecommerce/cart.rst b/content/applications/websites/ecommerce/cart.rst deleted file mode 100644 index 3995e4b8e..000000000 --- a/content/applications/websites/ecommerce/cart.rst +++ /dev/null @@ -1,111 +0,0 @@ -=========== -Add to cart -=========== - -The :guilabel:`Add to Cart` button can be customized in multiple ways. You can: - -- Choose on which page customers go after clicking the 'Add to Cart' button; -- Hide the 'Add to Cart' button to prevent sales; -- Add a 'Buy Now' button to skip the cart step and lead customers straight to checkout; -- Create additional 'Add to Cart / Buy Now' buttons; -- Add an 'Order Again' button to the customer portal. - -.. seealso:: - :doc:`checkout` - -.. _ecommerce/cart/action_customization: - -'Add to Cart' action customization -================================== - -When customers click on the :guilabel:`Add to Cart` button, the product is added to their cart, and -customers remain **by default** on the product's page. However, customers can either immediately be -**redirected** to their cart, or given the choice on what to do through a **dialog box**. - -To change the default behavior, go to :menuselection:`Website --> Configuration --> Settings`. Under -the :guilabel:`Shop - Checkout Process` section, look for :guilabel:`Add to Cart` and select one of -the options. - -.. note:: - If a product has :doc:`optional products `, the **dialog - box** will always appear. - -.. seealso:: - :doc:`products/catalog` - -.. _cart/prevent-sale: - -Replace 'Add to Cart' button by 'Contact Us' button -=================================================== - -You can replace the 'Add to Cart' button with a 'Contact Us' button which redirects users to the URL -of your choice. - -.. note:: - Hiding the :guilabel:`Add to Cart` button is often used by B2B eCommerces that need to restrict - purchases only to :ref:`customers with an account `, but still want to - display an online product catalog for those without. - -To do so, go to :menuselection:`Website --> Configuration --> Settings --> Shop - Products` and tick -:guilabel:`Prevent Sale of Zero Priced Product`. This creates a new :guilabel:`Button url` field -where you can enter the **redirect URL** to be used. Then, set the price of the product to `0.00` -either from the **product's template**, or from a -:doc:`pricelist `. - -.. image:: cart/cart-contactus.png - :align: center - :alt: Contact us button on product page - -.. note:: - The 'Contact Us' button and '*Not Available For Sale*' text can both be modified using the - **website builder** on the product's page (:menuselection:`Edit --> Customize`) by clicking on - them. - -Customizable 'Add to Cart' button -================================= - -You can also create a customizable 'Add to Cart' button and link it to a specific product. The -**customized button** can be added on any page of the website as an **inner content** building -block, and is an *additional* button to the regular :guilabel:`Add to Cart` button. - -To add it, go on the :guilabel:`Shop` page of your choice, click :menuselection:`Edit --> Blocks` -and place the building block. Once placed, you have the following options: - -- :guilabel:`Product`: select the product to link the button with. Selecting a product renders the - :guilabel:`Action` field available; -- :guilabel:`Action`: choose if the button should :guilabel:`Add to Cart` or :guilabel:`Buy Now` - (instant checkout). - -.. image:: cart/cart-add.png - :align: center - :alt: Customizable 'Add to Cart' button - -.. _ecommerce/cart/buy-now: - -'Buy Now' button -================ - -You can enable the :guilabel:`Buy Now` button to take customers directly to the :ref:`review order -` step instead of adding the product to the -cart. This button is an *additional* option and does not replace the :guilabel:`Add to Cart` button. -To do so, go to :menuselection:`Website --> Configuration --> Settings`, scroll to the -:guilabel:`Shop—Checkout Process` section, enable :guilabel:`Buy Now`, and :guilabel:`Save`. - -.. tip:: - Alternatively, you can enable the :guilabel:`Buy Now` button directly from a product page by - clicking :guilabel:`Edit` and navigating to the :guilabel:`Customize` tab. - -.. image:: cart/cart-buy-now.png - :alt: Buy Now button - -Re-order from portal -==================== - -Customers have the possibility to **re-order** items from **previous sales orders** on the customer -portal. To do so, go to :menuselection:`Website --> Configuration --> Settings --> Shop - Checkout -Process` and enable :guilabel:`Re-order From Portal`. Customers can find the :guilabel:`Order Again` -button on their **sales order** from the **customer portal**. - -.. image:: cart/cart-reorder.png - :align: center - :alt: Re-order button diff --git a/content/applications/websites/ecommerce/cart/cart-add.png b/content/applications/websites/ecommerce/cart/cart-add.png deleted file mode 100644 index 9e548df87ff7aa5ed16229d552e638d18171677c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1958 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 diff --git a/content/applications/websites/ecommerce/checkout.rst b/content/applications/websites/ecommerce/checkout.rst index 9921e3961..995d54c77 100644 --- a/content/applications/websites/ecommerce/checkout.rst +++ b/content/applications/websites/ecommerce/checkout.rst @@ -1,12 +1,130 @@ -======== -Checkout -======== +===================== +Ordering and checkout +===================== -Once customers have added their desired products to the cart, they can access it by clicking the -:icon:`fa-shopping-cart` button in the header to start the checkout process. In Odoo eCommerce, this -process consists of sequential :ref:`steps `, some of which support -additional features. The related checkout pages can be :ref:`customized -` using the website editor. +Odoo eCommerce provides several options to organize the ordering and checkout process. It offers +different :ref:`order button ` options and sequential +:ref:`checkout steps `, some of which support additional features. The +related buttons and checkout pages can be customized using the website editor. + +.. _ecommerce/checkout/order-buttons: + +Order buttons +============= + +To customize the ordering process in Odoo eCommerce, you can: + +- change the :ref:`Add to Cart ` button's behavior, +- replace it with a :ref:`customized ` button, +- add a :ref:`Buy now ` button, and +- add an :ref:`Order again ` button to the customer portal. + +.. _ecommerce/checkout/add-to-cart: + +Add to cart options +------------------- + +Default add to cart behavior +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When clicking the :guilabel:`Add to cart` button, different actions can be triggered. To configure +them, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the +:guilabel:`Shop - Checkout Process` section, and select one of the following options: + +- :guilabel:`Stay on Product Page`: The customer remains on the product's page. +- :guilabel:`Go to cart`: The customer is immediately redirected to the cart. +- :guilabel:`Let the user decide (dialog)`: The customer can choose if they want to go to the cart + (:guilabel:`Proceed to Checkout`) or if they prefer to stay on the product page + (:guilabel:`Continue Shopping`). + +.. note:: + This dialog box always appears regardless of the configuration to suggest :doc:`optional products + `, if any. + +.. _ecommerce/checkout/prevent-sale: + +Button customization +~~~~~~~~~~~~~~~~~~~~ + +You can replace the :guilabel:`Add to Cart` button with a :guilabel:`Contact Us` button, which +redirects users to the default contact form. + +.. note:: + Removing the ability to add products to the cart is often used by businesses that want to display + an online catalog but cannot share prices publicly (e.g., to offer custom or variable pricing). + +To do so, go to :menuselection:`Website --> Configuration --> Settings`. Under the :guilabel:`Shop - +Products` section, tick :guilabel:`Prevent Sale of Zero Priced Product`. A new :guilabel:`Button +url` field appears to enter a redirect URL. + +Then, for all products that should display the :guilabel:`Contact Us` button, set their price to +`0` using the product form or a :doc:`pricelist <../../sales/sales/products_prices/prices/pricing>`. + +.. image:: checkout/cart-contact-us.png + :alt: Contact us button on product page + +.. note:: + The :guilabel:`Contact Us` button label, URL, and the *Not Available For Sale* text beneath the + product title and description can be modified on the product's page while in :guilabel:`Edit` + mode. + +Additional add to cart buttons +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can add additional :guilabel:`Add to Cart` buttons and link them to specific products on any +website page. + +To add them, open the website editor and place the :guilabel:`Add to Cart Button` inner content +building block. Once placed, click the button, scroll to the :guilabel:`Add to Cart Button` +section, and configure the following: + +- :guilabel:`Product`: Select the product to link the button with. +- :guilabel:`Action`: Choose if it should be an :guilabel:`Add to Cart` or :ref:`Buy Now + ` button. + +.. note:: + - If the product has variants, either choose one or leave the option on :guilabel:`Visitor's + Choice`, which prompts the customer to select a variant and then to :guilabel:`Proceed to + Checkout` or :guilabel:`Continue Shopping`. + - The default :guilabel:`Add to Cart` button does not offer those options, but its label can be + changed. + +.. tip:: + While in :guilabel:`Edit` mode, it is also possible to show or hide the :icon:`fa-shopping-cart` + (:guilabel:`cart`) icon in the page's header. Click the header and then the + :icon:`fa-shopping-cart` (:guilabel:`cart`) button next to the :guilabel:`Show Empty` option + under the :guilabel:`Customize` tab. + +.. _ecommerce/checkout/buy-now: + +Buy now +------- + +To let customers choose to go to the :ref:`review order ` step +directly, you can add an additional :guilabel:`Buy now` button. To do so, go to +:menuselection:`Website --> Configuration --> Settings`. Under the :guilabel:`Shop - Checkout +Process` section, tick the :guilabel:`Buy Now` feature. + +.. tip:: + Alternatively, enable the feature by going to any product's page while in :guilabel:`Edit` mode + and, in the :guilabel:`Customize` tab, clicking the :icon:`fa-bolt` :guilabel:`Buy Now` button + next to the :guilabel:`Cart` options. + +.. image:: checkout/cart-buy-now.png + :alt: Buy now button + +.. _ecommerce/checkout/re-order: + +Re-order from portal +-------------------- + +You can let customers re-order items from previous sales orders from their customer portal using the +:guilabel:`Order Again` button. To add it, go to :menuselection:`Website --> Configuration --> +Settings`. Under the :guilabel:`Shop - Checkout Process` section, tick the :guilabel:`Re-order From +Portal` feature. + +.. image:: checkout/order-again-button.png + :alt: Re-order button .. _ecommerce/checkout/policy: @@ -14,29 +132,29 @@ Checkout policy =============== To allow customers to checkout as guests or force them to sign in/create an account, go to -:menuselection:`Website --> Configuration --> Settings`, scroll down to the -:guilabel:`Shop - Checkout Process` section, and configure the :guilabel:`Sign in/up at checkout` -setting. The following options are available: +:menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`Shop - +Checkout Process` section, and configure the :guilabel:`Sign in/up at checkout` setting. The +following options are available: - :guilabel:`Optional`: Customers can check out as guests and register later via the order confirmation email to track their order. - :guilabel:`Disabled (buy as guest)`: Customers can checkout as guests without creating an account. -- :guilabel:`Mandatory (no guest checkout)`: Customers must sign in or create an account at - the :ref:`Review Order ` step to complete their purchase. +- :guilabel:`Mandatory (no guest checkout)`: Customers must sign in or create an account at the + :ref:`Review Order ` step to complete their purchase. B2B access management --------------------- -To restrict checkout to selected B2B customers, follow these steps: +To restrict checkout to selected B2B customers: -#. Go to :menuselection:`Website --> Configuration --> Settings`, and in the - :guilabel:`Shop - Checkout Process` section, enable the - :ref:`Mandatory (no guest checkout) ` option. +#. Go to :menuselection:`Website --> Configuration --> Settings`, and in the :guilabel:`Shop - + Checkout Process` section, enable the :ref:`Mandatory (no guest checkout) + ` option. #. Scroll down to the :guilabel:`Privacy` section, go to :guilabel:`Customer Account`, and select :guilabel:`On invitation`. #. Go to :menuselection:`Website --> eCommerce --> Customers`, switch to the :guilabel:`List` view, - and select the customers you wish to grant access to your - :doc:`portal `. + and select the customers you wish to grant access to your :doc:`portal + <../../general/users/portal>`. #. Click the :icon:`fa-cog` :guilabel:`Actions` button, then :guilabel:`Grant portal access`. #. Review the selected customers in the :guilabel:`Portal Access Management` pop-up and click :guilabel:`Grant Access`. @@ -47,13 +165,13 @@ instructions on setting a password and activating their account. .. note:: - You can revoke access or re-invite a customer using the related buttons in the :guilabel:`Portal Access Management` pop-up. - - Users can only have one :doc:`portal access ` per email. + - Users can only have one :doc:`portal access <../../general/users/portal>` per email. - Settings are website-specific, so you could set up a B2C website that allows guest checkout and - B2B website with mandatory sign-in. + a B2B website with mandatory sign-in. .. seealso:: - - :doc:`Customer accounts ` - - :doc:`Portal access ` + - :doc:`Customer accounts documentation ` + - :doc:`Portal access documentation <../../general/users/portal>` .. _ecommerce/checkout/steps: @@ -70,9 +188,9 @@ During the checkout process, customers are taken through the following steps: .. _ecommerce/checkout/customize_steps: -Each step can be customized using the website editor: Click :guilabel:`Edit` to add -:doc:`building blocks <../website/web_design/building_blocks>` from the :guilabel:`Blocks` tab or -open to the :guilabel:`Customize` tab to enable various checkout options. +Each step can be customized using the website editor by adding :doc:`building blocks +<../website/web_design/building_blocks>` or opening the :guilabel:`Customize` tab to enable various +checkout options. .. note:: Content added through building blocks is **specific** to each step. @@ -93,16 +211,16 @@ as: - :guilabel:`Suggested Accessories`: to showcase :ref:`accessory products `; - :guilabel:`Promo Code`: to allow customers to redeem :ref:`gift cards ` - or apply :doc:`discount codes `; + or apply :doc:`discount codes <../../sales/sales/products_prices/loyalty_discount>`; - :guilabel:`Add to Wishlist`: To allow signed-in users to remove a product from their cart and add it to their wishlist, go to :menuselection:`Website --> Configuration --> Settings`, scroll to the :guilabel:`Shop - Products` section, and enable :guilabel:`Wishlists`. The :guilabel:`Add to Wishlist` option is then enabled by default in the website editor. .. note:: - - If a :doc:`fiscal position ` is detected automatically, - the product tax is determined based on the customer's IP address. - - If the installed :doc:`payment provider ` supports + - If a :doc:`fiscal position <../../finance/fiscal_localizations>` is detected + automatically, the product tax is determined based on the customer's IP address. + - If the installed :doc:`payment provider <../../finance/payment_providers>` supports :ref:`express checkout `, a dedicated button is displayed, allowing customers to go straight from the cart to the confirmation page without filling out the contact form. @@ -114,8 +232,8 @@ Delivery Once they have reviewed their order: -- Unsigned-in customers are prompted to :guilabel:`Sign in` or enter their - :guilabel:`Email address`, along with their delivery address and phone details; +- Unsigned-in customers are prompted to :guilabel:`Sign in` or enter their :guilabel:`Email + address`, along with their delivery address and phone details; - Signed-in customers can select the appropriate :guilabel:`Delivery address`. They can then :doc:`choose a delivery method `, select or enter their :guilabel:`Billing @@ -123,42 +241,45 @@ Address` (or toggle the :guilabel:`Same as delivery address` switch if the billi addresses are identical), and click :guilabel:`Confirm` to proceed to the next step. .. tip:: - For B2B customers, you can also :ref:`enable ` optional - :guilabel:`VAT` and :guilabel:`Company name` fields by toggling the :guilabel:`Show B2B Fields` - option in the website editor. + - For B2B customers, you can also :ref:`enable ` optional + :guilabel:`VAT` and :guilabel:`Company name` fields by toggling the :guilabel:`Show B2B Fields` + option in the website editor. + - You can add a checkbox for users without an account to sign up for a newsletter. To do so, go + to :menuselection:`Website --> Configuration --> Settings`. Under the :guilabel:`Shop - + Checkout Process` section, enable the :guilabel:`Newsletter` feature and select a + :guilabel:`Newsletter List`. .. _ecommerce/checkout/extra_step: Extra info ---------- -You can add an :guilabel:`Extra Info` step in the checkout process to collect additional -customer information through an online form, which is then included in the :ref:`sales order -`. To do so :ref:`enable ` the :guilabel:`Extra +You can add an :guilabel:`Extra Info` step in the checkout process to collect additional customer +information through an online form, which is then included in the :ref:`sales order +`. To do so, :ref:`enable ` the :guilabel:`Extra Step` option in the website editor. The form can be :ref:`customized ` as needed. .. tip:: Alternatively, go to :menuselection:`Website --> Configuration --> Settings`, scroll to the :guilabel:`Shop - Checkout Process` section, enable :guilabel:`Extra Step During Checkout`, and - click :guilabel:`Save`. Click :icon:`fa-arrow-right` :guilabel:`Configure Form` to customize the - form. + click :guilabel:`Save`. Click :icon:`fa-arrow-right` :guilabel:`Configure Form` to customize it. .. _ecommerce/checkout/payment: Payment ------- -At the :guilabel:`Payment` step, customers :guilabel:`Choose a payment method`, enter their -payment details, and click :guilabel:`Pay now`. +At the :guilabel:`Payment` step, customers :guilabel:`Choose a payment method`, enter their payment +details, and click :guilabel:`Pay now`. You can require customers to agree to your :doc:`terms and conditions -` before payment. To -:ref:`enable ` this option, go to the website editor and toggle -the :guilabel:`Accept Terms & Conditions` feature. +<../../finance/accounting/customer_invoices/terms_conditions>` before payment. To :ref:`enable +` this option, go to the website editor and toggle the +:guilabel:`Accept Terms & Conditions` feature. .. tip:: - Enable the :ref:`developer mode ` and click the :icon:`fa-bug` :guilabel:`bug` + Enable the :ref:`developer mode ` and click the :icon:`fa-bug` (:guilabel:`bug`) icon to display an :ref:`availability ` report for payment providers and payment methods, which helps diagnose potential availability issues on the payment form. @@ -172,4 +293,4 @@ The final step of the checkout process is the :guilabel:`Order confirmation`, wh summary of the customer's purchase details. .. seealso:: - :doc:`Order handling ` + :doc:`Order handling documentation ` diff --git a/content/applications/websites/ecommerce/cart/cart-buy-now.png b/content/applications/websites/ecommerce/checkout/cart-buy-now.png similarity index 100% rename from content/applications/websites/ecommerce/cart/cart-buy-now.png rename to content/applications/websites/ecommerce/checkout/cart-buy-now.png diff --git a/content/applications/websites/ecommerce/checkout/cart-contact-us.png b/content/applications/websites/ecommerce/checkout/cart-contact-us.png new file mode 100644 index 0000000000000000000000000000000000000000..6b423a1f3108b5432cbabeef8194c24db36cce3e GIT binary patch literal 6460 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 literal 0 HcmV?d00001 diff --git a/content/applications/websites/ecommerce/checkout/order-again-button.png b/content/applications/websites/ecommerce/checkout/order-again-button.png new file mode 100644 index 0000000000000000000000000000000000000000..1ea0188b6d77f925f104053b047cc0b7c7fdab99 GIT binary patch literal 2598 zcmV+>3fc9EP)D2^=oZ#{{H^(?C(iTPlRNAqNAlGCo3l_FZ%iVJ3c|O zovbM>G2YeO;Mm@Yij3;z={-P1^YimVMoE-+jL68zor9M5^!B2On}%h5^6~Mil%&rgVp`xQxR#~HpoxQ!jrKYE^ud(v(@nB+QD=#y_vAvgkkmTLs^zrjwVPru> zNVA`=m6n*p!^9*gEY;N2MoCQ1!ppX|xXZoAsF9*xVPoaw<#|5N%gf9yF*Qt2QsUv^*UZ#zaB`1vhg@D^ot~hpm8Q73xsj5T-Q3;# z`};99IagX;$H&O5mZpe_jOXFyh-iP{;NXRaiRR_y&d$$sPHDxp!P?r|s;aE9oUAf7 zI@s6P@9XZ8b&8R5iR|m^mzbJ6KSFqUeCy`wpN5&5fRllPg{`iy(b3Y|(%HSNxjsQf zY;JLkZG_v~+n9Wj>Eq||?eM0KprnkRxTUkKt*+eL+;nz%u$!yw=j)oAor{f+la-gh zzra94MrdknI6ObcxWlruwAs(rx1_Sq!pvc0XSuq&>FDW;Yl6P5y6^7pPf}H=sj8Tn zo0WKu-PGHOYJq}bd7gxq($dnvue^L%a_Z^n+R)d7VtT1vuD1XH2Ny|1K~#9!?c4WT z6h{~b@Kx`e84ncoOc2Q-o+rwIR8e{_f=E+9ksuI6DGJyCK`8=auS68FizxP}SYwRF z*rG-gqcNT2@5pSqyFC=M_?RcUdA~pGEpu}V`+26_J_Caxy$=HfpayE725Jyc12s?s zHBf_q8mNI9sDT=!CpByPQ4EC5D0^$EYTmh4U?obFw-hyNXldPAo3#Wr zdvNL&dkJbV5xg`dNKgZ%mjY^_25O)NYLNd-ZQq8lRNo*_>s3x`xGTGD@cYS6RJ_@B zW`5x1Zgt1vK|Ni@7Z>&PR?5{8a#Q<4hw<>PslaNYO}`Ri#`2{ zx?wU?%f&c9teRmy52aT(sm;dc>9NYK>8M1ts%hgxfB)a~P!G&^pP#RqspU`SUj7Iz zXPAEKLz;C=;?oExw*{z4`(}@l+hZpL{!p-f(+;YN>R3+8v zPEj?@eqX~-_@^6livN6(k18qBgQ}^p)u2=#wV>t^SQ$LHNFHj@Si_&ZP%4$)#$qL& z%%7yLVsDspOr^(fs9G*QP1{+^L#kF`{6PGw@eFe{g_{+AWthY|sQ^Q3zeS)D|aF*ung`$oBhq z?^CW=P^;%!_GMY9ZN@$puP8R}p;la@+$YQifx@3sC02{%%X}Foupj$#7*#uZ4&#;x zgBp90iQ-xMJysiwarCRo^Ve}N)y3t)4F}*|LR+iQD7hqx)OKMNThu;_VH(;EZB65L zdLKQJp&D}zJMnj-iV#n5sa#{TP~(Zh4g2An^mv}Ch3VMADR-*4hX#jm-z`*4RkZa^ zr5`N9BP?`>Xpvf$Y8$3uU4^gm8tr!#qT)nXd~W`H4L1dFH_SY2Qde3>P_^pzF#)+M zrv|aw6<6-%2;RX|w-nFc5qXlfHP0TZRAao0g-g4|ii^{Bu-~Y-o8;AE)jI6P zt#bXWbU3uuLZo&PFXB%$beR`49qVeta1isCD;}P*NS?03);ku-^bv+;h>@XXpMP=n`dpauc8e@_i|EOgH(*d6l*v4@>l zy^o}wSXc?W{=|t=!Vc5kw={`6Okp>(Xd;lln;8QCZvbkb25O)N0X0y2$JLs&6A*;W z1Z|U4HM^0(Wz0xBX=-*rW!Bv6q^LDPOY7F!nk1-c!Kquc64YQKcqtOp014DU4b(sl z)IjZ>QR}PV(hO?7iL*n0nl&WOUnoc?2Y61Kt^N)ruLUPG&iCfNrpj+MnP?yxAUm}W zKVpx23ArH@tZ>ZaUXR&aLdkKjSBp^$yzNC|#DyJXoVbcZf{fK#3kmsBC@Co8UWUy1 z$Ieaq(4*~ovaClnHu6lQLY(X}?bW^vYI{b8e8ss3JG&fVoQQOhb>YE*NGxx}BX?_@h@ z0piuxY_vt_Gt!8b)0_5+EA&S<9FUn>AM%5#7S}^*wrwZ6RoKC+ofY1lfew&6&+nsWw-1vg=4vtFqFTJ#);1Ep z(#2gguB{=YY_AN}=-Nvtj=PJ7TtK|qT9U~vgXx`@?aV%bGM8@(w>4Aqr?Y{n7N?f5 z^wuW`wTaYd?L03p`KTFts7Y-SX|`D=s3EUxb`f`QC_*#(AAf)*>66!+uRL}Wg{an0 zl7rCB`)v0Y_0UGP0nRfnZr*RTMyh6<4G8HplrMDn)Y71qLo(*3uXLg9WeRcZLjG;! zplFr5Woswxmf~791&XdIB<{iW?W;{{Sff}fR8boUT2AarJN^=PHr2qf`07*qo IM6N<$f-Un~BLDyZ literal 0 HcmV?d00001 diff --git a/content/applications/websites/ecommerce/products/catalog.rst b/content/applications/websites/ecommerce/products/catalog.rst index 6bb1d048a..e1222adc6 100644 --- a/content/applications/websites/ecommerce/products/catalog.rst +++ b/content/applications/websites/ecommerce/products/catalog.rst @@ -169,7 +169,7 @@ or a **wishlist**. To do so, go to your **main shop page**, and at the end of th appear when hovering the mouse over a product's image. - :guilabel:`Add to Cart`: adds a button to - :doc:`add the product to the cart <../cart>`; + :doc:`add the product to the cart <../checkout>`; - :guilabel:`Comparison List`: adds a button to **compare** products based on their price, variant, etc.; - :guilabel:`Wishlist Button`: adds a button to **wishlist** the product. diff --git a/redirects/18.0.txt b/redirects/18.0.txt index a9af92d20..cb651e346 100644 --- a/redirects/18.0.txt +++ b/redirects/18.0.txt @@ -32,4 +32,5 @@ applications/productivity/voip/transfer_forward.rst applications/productivity/vo # applications/websites -applications/websites/website/pages/menus.rst applications/websites/website/pages/header_footer.rst \ No newline at end of file +applications/websites/ecommerce/cart.rst applications/websites/ecommerce/checkout.rst +applications/websites/website/pages/menus.rst applications/websites/website/pages/header_footer.rst