NM Checkout

UNIX name Owner Status
nmcheckout Eirik Alfstad Johansen beta
Version Compatible with
1 3/4
NM Checkout brings a 1-step checkout process to eZ Publish, in addition to backend order editing.

Introduction

The default eZ checkout process is long (especially if you need to register while placing an order) difficult to set up, and lacking in customization options. NM Checkout improves the checkout-process without sacrificing eZ standards. Among the improvements are:

  • More customizable data collection, without the need for programming custom shopaccounthandlers
  • More customizable validation, and better validation feedback to the user
  • The possibility of having shop users registered into different client types which can be handled differently with regards to data collection, validation, delivery methods, payment methods, permissions and discounts.
  • A 1-page order registration process, including user registration
  • The possibility of editing orders in the backend after they have been generated by the client.

Requirements

NM Checkout depends upon the following eZ Publish extensions (available at projects.ez.no):

Installation

1. Upload and activate the extension
2. Grant users who should be able to shop access to the checkout module.
3. Create a user group and name it something like "Webshop clients". With this user group as parent, create new user groups for each client type you would like to server, for instance:

  • Personal
  • Company
  • Institution

4. Assign the anonymous role and any other roles shop users need to the "Web shop clients" user group.
5. Grant the anonymous user read access to the user groups in the "Web shop clients" subtree.
5. Copy settings/nmcheckout_default.ini.append.php to settings/nmcheckout.ini.append.php and alter it to suit your environment.
6. Clear all caches
7. Test the checkout by adding one or more products in the basket, and then typing in the URI checkout/login.
8. When you are happy with the checkout process, enable it by putting the following in the shopaccount.ini of the siteaccess which will use the checkout process (create the file if it does not exist), remembering to disable any existing account handlers:

[AccountSettings]
Handler=nmcheckout

Customization options

Adding custom fields

If you want to add more fields/other fields than the standard fields, you need to make an override of the register_form.tpl.
Here is the guide to do this:
1. Create a file in nmcheckout/settings/override.ini.append.php
2. Add the following block to the file:

[checkout_register_form]
Source=parts/register_form.tpl
MatchFile=nmcheckout_register_form.tpl
Subdir=template

3. Create the file nmcheckout/design/standard/override/templates/nmcheckout_register_form.tpl
4. Copy and paste the content in the file nmcheckout/design/standard/templates/parts/register_form.tpl to the file you created in step 3.
5. Add the form-fields for the fields you need.
If you need to add the same fields in the orderhead and orderemail, follow these steps:
1. In the override.ini.append.php add following block(s):
2a. For the order head:

[checkout_accounthandler_html]
Source=shop/accounthandlers/html/nmcheckout.tpl
MatchFile=nmcheckout_accounthandlers_html.tpl
Subdir=templates

2b. For the order email:

[checkout_accounthandler_ascii]
Source=shop/accounthandlers/ascii/nmcheckout.tpl
MatchFile=nmcheckout_accounthandlers_ascii.tpl
Subdir=templates

3. Create the files for each of the blocks in the folder nmcheckout/design/standard/override/templates/

  • nmcheckout_accounthandlers_html.tpl for order head
  • nmcheckout_accounthandlers_ascii.tpl for order email

4. Copy content from orignal files:

  • nmcheckout/des ign/standard/shop/accounthandlers/html/nmcheckout.tpl for order html
  • nmcheckout/des ign/standard/shop/accounthandlers/ascii/nmcheckout.tpl for order email

Fields that should not be copied from previous orders

By default, every field is copied from the previous order when creating a new order. If you for some reason don`t want every field to be copied, fill out the array in the ini field called ExcludeDataForCopyOrder[]. This setting can be specified pr client type and is useful for for instance comments.

No news yet.

This project has no reviews yet. Be the first one to review it!

No forum messages yet.