Tutorials

Find below a list of tutorials written in English on all things OXID eShop.

Feel free to write your own tutorial and please list it here when done. Of course, you can write your tutorial in this Wiki.

You are invited to add ideas for tutorials to the list of OXID eShop tutorial ideas.

Introduction into the main principals of OXID eShop
Matthew Setter is writing for PHP Master and introduces to OXID eShop in a 3-part-series workshop style tutorial there.

http://phpmaster.com/oxid-esales-ecommerce-3/
 * in part 1 he is telling about the server requirements and setup
 * part 2 is going deeper when Matt is working on themes, teaching the override mechanism and specific language changes
 * part 3: extending the core functionality with a module

Six Easy Steps to Start Selling Online with OXID eShop
If you’re one of these merchants—an individual, a small business, or even a large one—and you’ve been toying with the idea of taking your products to new customers and markets via the Internet, then this article is for you. In it, I’ll be discussing how to quickly and easily build your online shop using one of the new breed of ecommerce solutions: an open-source, community-driven shopping cart system called the OXID eShop. Come on in, and let’s make a start!

http://www.sitepoint.com/article/six-steps-start-selling-online/

Supercharge Your OXID Development Environment
Are you always on the lookout for tools and techniques that will help you get the most out of your OXID development environment? Here are some tips that you can use to make your OXID development environment faster, smarter and more fun.

http://www.oxidforge.org/wiki/Tutorials/Supercharge_Your_OXID_Development_Environment

Create an OXID eShop Server in Amazon's Cloud
Are you looking for a quick way to set up an OXID eShop server, maybe for research or testing purposes? With Amazon's cloud services, this is a snap to set up and use. The following instructions guide you through the process.

http://www.oxidforge.org/wiki/Tutorials/HowTo_OXID_in_a_Cloud

Database Structure *Under Construction*
Are you looking for a documentation, with short explanations for all database fields? Here you will find your answer.

http://www.oxidforge.org/wiki/Tutorials/databasefields

Configure the Language Sites of your OXID eShop Installation
Daily, there are more and more new online stores using OXID eShop. Some of these shops are supposed to be available in just one language (e.g. German), nevertheless they tend to forget to disable English, which is enabled as an additional language in OXID eShop by default.

http://www.marco-steinhaeuser.de/configure-the-language-sites-of-your-oxid-eshop-installation.html

Adding new unit types
Since version 4.6 multilanguage product unit types will be supported. Please review following link to familiarize with this new feature and get instructions on how to add new unit types for your shop.

http://wiki.oxidforge.org/Tutorials/Adding_new_unit_types

How to move OXID eShop from one server to another
Sometimes it is necessary to move a complete Oxid-Shop, either from testings/building to liveserver, or because of changing the hoster.

http://wiki.oxidforge.org/Tutorials/How_to_move_OXID_eShop_from_one_server_to_another

How to set up a LAMP Server and OXID eShop on CentOS
With this tutorial bin63 provides a step-by-step instructions for installing a full-featured LAMP stack and OXID eShop on a CentOS system. In the following you will be instructed on setting up Apache, MySQL, PHP and OXID eShop.

http://bin63.com/how-to-set-up-a-lamp-server-and-oxid-eshop-on-centos

Template Documentation on the Basis of YAML
Tobi74 provides an OXID eShop demo system on his website on the basis of YAML. With this YAML template in debug mode, it is easily possible to see each slice of the OXID eShop template structure. You can also download this developer template set from his website for free. http://www.boxyton.de/oxiddemodebug/

Product and Category Sorting for OXID
Another blog post by Ashant where he describes how to set up sorting for products and categories.

http://oxid-blog.euroblaze.de/uncategorized/product-and-category-sorting-for-oxid/

Hiding Page Elements for Unregistered Users
HowTo implement element hiding for non registered users with custom smarty block plugin.

http://wiki.oxidforge.org/Tutorials/Hiding_elements_for_non_registered_user

Connect your site to Facebook
To use Facebook features (e.g. like, share button) in your eShop website you must connect your site to Facebook.

http://wiki.oxidforge.org/Tutorials/Connecting_website_to_facebook

Adding Facebook Share and Like buttons to OXID eShop
Social networking is all the rage these days. And if you'd like to link your OXID shop up to the largest social network on the Web, it's quite easy! This article shows you how to easily add Facebook "Share" and "Like" buttons to your product pages, both with and without XFBML.

http://wiki.oxidforge.org/Tutorials/Adding_Facebook_Share_and_Like_buttons_to_OXID_eShop

Creating new help page from OXID eShop 4.4.0 on
Help pages where moved from template system to CMS pages from OXID eShop version 4.4.0. Learn how to implement them for different views: http://wiki.oxidforge.org/Tutorials/Creating_new_help_page

Add a field to register.tpl
http://wiki.oxidforge.org/Tutorials/add_a_field_to_registration

[4.5] Nivo-Slider instead of Default-Slider for Promotions / Banners
a step-by-step howto

http://wiki.oxidforge.org/Tutorials/en/Nivo-Slider-instead-4-5-CE-Default-Slider

[4.5] Understanding theme management in OXID eShop from 4.5.0
From OXID eShop 4.5.0 theme handling will be moved from config.inc.php to back-end (Master Settings -&gt; Themes) showing list of all available templates, their descriptions, thumbnails and theme specific settings and also theme switching in back-end. Theme meta data file and thumbnail image laying in theme folder enables template appearance in list. To enable selected theme just click activate button.


 * Tutorials/Understanding theme management in OXID eShop from 4.5.0 (English)
 * Tutorials/Theme Management im OXID eShop ab 4.5.0 (Deutsch)

[4.5] Customizing Your Online Storefront with OXID eShop 4.5.0 Themes
In August 2011, Vikram wrote an Article for the php|architect magazine. php|architect now was so friendly to allow us to use this article for our tutorials. In this article, Vikram describes how to adapt the azure theme for ones own needs using the theme override functionality.

[4.5] Use a teaser to hide long descriptions
A small but fancy snippet to show / hide long descriptions on click. Only the first few lines are shown by default.

Tutorials/en/Text_Teaser

Adding Text to OXID eShop Banner
On most OXID-Shops that use promotional banners, also sometimes called sliders on the start-page, it is often advantageous to offer some textual headings on the banner-images. This mini-howto will help you equip your start-page banners with textual overlays.

http://oxid-blog.euroblaze.de/developers/adding-text-to-oxid-e-shop-banner/

Extension metadata file
Support for an extension metadata file was added. This file contains information about the extension name, description, eshop classes that are extended and other information. This file is a plain PHP file. Metadata file must be placed into the root extensions directory and named "metadata.php".

Extension GUI
This feature was born as pet project in our development team. The goal was to beautify current extension management process, by adding separate admin page, instead of single text-area input describing class extend information.

[4.7/5.0] How to Write a Module for OXID eShop: Display “You will save x %” on the Product Details Page
Learn step-by-step how to easily generate a module for displaying content saving on the product detail page of your OXID eShop installation, if you entered a recommended retail price as well as your price. You will also learn how to embed your own CSS and how to make your module multilingual. http://www.marco-steinhaeuser.de/how-to-write-a-module-for-oxid-eshop-display-you-will-save-x-percent-on-the-product-details-page.html

[4.7/5.0] How to Write a Module for OXID eShop: Round the Price on Product Details Page to a Fivy
Learn how to write a very simple module for OXID eShop: round up the price on the product details page to five cent. Simply copy an existing method and overwrite it with your additions. http://www.marco-steinhaeuser.de/how-to-write-a-module-for-oxid-eshop-round-the-price-on-product-details-page-to-a-fivy.html

How to Extend OXID eShop With Modules (Part 1)
Whenever you want to extend the default functionality of an OXID eShop, you should look for existing modules, this may save you a lot of time. In case no module meets your demands, the fabulous OXID API allows you to code your own module.

http://www.oxid-esales.com/en/news/blog/howto-extend-oxid-eshop-modules-part-1

How to Extend OXID eShop With Modules (Part 2)
Welcome back to the workshop on modules for OXID eShop. In the last Post (LINK) I showed you how to write your first module and how you we‘ll be able to display new information in your shop. In this part of the workshop I‘ll give you more information about the module system and the view concept.

http://www.oxid-esales.com/en/news/blog/how-extend-oxid-eshop-part2

How to Extend OXID eShop oxReview (a simple Module)
based on a question on the forum the topic became a wiki page concerning extending the Product review by adding an image ref to the review system

wiki.oxidforge.org/Add_an_imageref_to_oxReview

PHP Module Programming with OXID eShop CE
In this article on PHPBuilder.com Andreas Ziethen describes the installation, the architecture and how to write a module for OXID eShop using an example.

http://www.phpbuilder.com/columns/Andreas_Ziethen010710.php3

OXID eShop – enable lazy loading for categories
MaFi writes about lazy loading in OXID eShop in general, gives a specific example and provides a module for activating the lazy loading method.

http://www.musterdenker.de/2009/09/oxid-eshop-enable-lazy-loading-for-categories/

Create a backend module - 1. Getting started
Modifying the Oxid backend is not an easy task. I will help you get started by copying an already existing module. Taking the systeminfo module for our starting point, we will create a minimal framework for a new module. The systeminfo module is located in the admin section of your site under Service - System Info. The new module will also live in the Service section.

http://wiki.oxidforge.org/Tutorials/Create_a_backend_module_-_1._Getting_started

Create a backend module - 2. Survive updates
In the first part of this tutorial, you learned how to start coding a new backend module with a minimum of fuss. In this part you'll learn how to place your files in the Oxid eShop folders so that a system update won't overwrite what you've done.

http://wiki.oxidforge.org/Tutorials/Create_a_backend_module_-_2._Survive_updates

Create a backend module - 3. Code the module
Having set up the module framework in the first two parts of this tutorial, we will now dive into the actual coding. This part will guide you in the implementation of your module and give some pointers on best practices and pitfalls to avoid. The examples presented here will be quite simple, in keeping with the KISS principle.

http://wiki.oxidforge.org/Tutorials/Create_a_backend_module_-_3._Code_the_module

Customize OXID eShop with oxBlocks
Find out how to improve reusability and easily customize OXID eShop with the new oxblocks introduced in v4.5.0.

http://wiki.oxidforge.org/Tutorials/Customize_OXID_eShop_With_oxBlocks

Disable certain payment-methods for specified articles
based on a question on the forum how to disable payment for the basket containing articles assigned to a hidden category, which maps to disallow Payment [disable_payment]

Maintenance Mode with frontend-access for admin
With this neat module you can access the frontend by simply adding "?user=admin_user_name&amp;pass=admin_password" as URL parameters. This module can as well be used when doing some maintenance in a running system.

[maintenance mode]

Integration of REDAXO CMS into OXID eShop using TOXID
Learn how to integrate contents from your REDAXO CMS installation into OXID eShop using the TOXID interface. http://wiki.oxidforge.org/TOXID/Integration_of_REDAXO_into_OXID_esales_with_TOXID_-_Installation

Google Sitemap XML
a simple and easy script to generate a xml-sitemap for google http://wiki.oxidforge.org/Tutorials/en/google_xml-sitemap

Show all entries from oxconfig
CLI script to read all entries from oxconfig in clear text https://gist.github.com/4136034

Using and extending Promotions
OXID's powerful promotions let you build up a private sales shop without much to do yourself. Create promotions about expired, current and upcoming shop events!

Built in standards allows easily to design promotion's look and, if needed, setup it for specific user groups. But there is much more you can achieve with some simple steps. This tutorial explains how to extended standard functionality by creating custom module for the "promotion queue" business case. Tutorial shows how to:


 * 1) create promotions products administration


 * 1) setup frontend for promotions queuing


 * 1) queue logics implementation

http://wiki.oxidforge.org/Tutorials/Extending_Promotions_module

Accepting Credit Card Payments with OXID eShop CE and Authorize.Net
If you're planning to start an online store, it should be pretty clear that accepting electronic payments isn't an option - it's a necessity for you to compete effectively. And that's where this article comes in. In a couple of pages, it'll show you how to begin accepting credit card payments for your products using the open source OXID shopping cart and the Authorize.Net payment gateway...with, of course, a little bit of PHP to make things interesting!

http://devzone.zend.com/article/4780-Accepting-Credit-Card-Payments-with-OXID-eShop-CE-and-Authorize.Net

Accepting Credit Card Payments with OXID eShop CE and AlertPay
Following up his last article Accepting Credit Card Payments with OXID eShop CE and Authorize.Net at Zend Developer Zone, Vikram Vaswani explains how to integrate the AlertPay interface into the OXID eShop. In opposit to the former article, where a transaction-oriented API was illustrated, the new article describes the implementation of a payment gateway that requires the shopping cart to transfer control to its own user interface and returns control to the shopping cart once the transaction is complete.

http://devzone.zend.com/article/7525-Accepting-Credit-Card-Payments-with-OXID-eShop-CE-and-AlertPay

OXID eShop in your language?
If you want to help translating OXID eShop or use the OXID Translation Center maintaining your language, please proceed to this tutorial. It it will tell you everything about translate.oxidforge.org and language packs for OXID eShop http://wiki.oxidforge.org/Tutorials/Language_handling

Translating The OXID eShop GUI
OXID eShop comes with a full-featured i18n implementation that is UTF-8 compliant and written in accordance with OOP principles for easy extensibility. This implementation makes it possible for developers to translate application resource strings to different languages, as well as support local conventions for date and time display. This article examines it in detail. http://www.oxidforge.org/wiki/Tutorials/Translating_The_OXID_eShop_GUI

Install Permanent Redirections
A short description how to install generic redirections (html header 301) to product URIs

http://www.oxidforge.org/wiki/Tutorials/Redirect_301/en

How to move a database &gt; 2MB
Most hosting provider set the limit to the PHP upload function to 2MB which makes it not easy importing databases &gt; 2MB to your new installation if you use e.g. phpMyAdmin as your database management tool. Read how to get it handled in your terminal.

http://www.oxidforge.org/wiki/Tutorials/How_to_move_a_database_bigger_2MB

Currency Settings in OXID e-Shop
Ashant describes the currency settings in the admin panel of OXID eShop in his blog post.

http://blog.euroblaze.de/2010/02/currency-settings-in-oxid-e-shop.html

edit / repair / deactivate module entries via frontend
Did a new module entry destroy your backend? Does a misconfiguration of a module prevent you from using the backend?

Just use this script to edit the modules via frontend!

http://wiki.oxidforge.org/Tutorials/en/edit-Module-entries-via-Frontend

Running OXID eShop Community Edition (Version 4.5.9) On Nginx (LEMP) on Debian Squeeze/Ubuntu 11.10
http://www.howtoforge.com/running-oxid-eshop-community-edition-version-4.5.9-on-nginx-lemp-on-debian-squeeze-ubuntu-11.10

Calculate VAT in cart and checkout only
You want to display prices without VAT in the catalog part of the shop but the summary calculation has to be including tax? Read this tutorial to achieve this goes with some simple steps:

http://wiki.oxidforge.org/Tutorials/Calculate_VAT_in_cart_and_checkout_only

OXID Cheat Sheet
This OXID Cheat Sheet is brought to you by D³ Data Development. It's a compendium of the most important commands, parameters etc. you will need in your everyday work with OXID eShop. Thomas told me that they printed it out in their office and have a laminated copy on each desk. Feel free to use it a similar way if you want :-)

Understanding OXID's SEO Implementation
OXID eShop comes with a full-featured SEO implementation that automatically takes care of generating descriptive URLs for products and categories, and optimizing these URLs for maximum search engine "stickiness". This SEO implementation is extremely sophisticated - it supports URLs in multiple languages, handles reserved words and special characters, and allows a high degree of user customization. This article examines it in detail. http://www.oxidforge.org/wiki/Tutorials/Understanding_OXID_SEO

Filesystem Permissions
The OXID eShop script tries, during the installation process and during some certain processes running the shop system, to chmod some directories to writable which fails on some (restrictive) operating systems like Debian or FreeBSD. Read how to resolve this behavior.

http://wiki.oxidforge.org/Installation#Files_.26_Folder_Permission_Setup

How template hierarchy and override system work
Find out how the template hierarchy and the template override system of OXID eShop work: http://wiki.oxidforge.org/Tutorials/How_template_hierarchy_and_override_system_works

Understand base picture implementation from version 4.3.0 on
Many people ask "How does it work" and "How can i use or kid it" here is a short tutorial with some hints and tips: http://wiki.oxidforge.org/Tutorials/understand_newbasepicture_implementation

Image handling changes since version 4.5.1
4.5.1 shop version comes with improved image handling. Since now images are not generated by image URL getters, but on demand by separate PHP process. Read more about it in this tutorial: http://wiki.oxidforge.org/Tutorials/image_handling_changes

Best Practice Security Precaution
Coding OXID eShop, we take care about the security of the application itself, pass security audits by 3rd party specialists and work with security bulletins. Nonetheless, there is a number of points you are responsible for. Find out in this tutorial what to take into account configuring your server, OXID eShop and 3rd party software: http://wiki.oxidforge.org/Tutorials/Best_Practice_Security_Actions

Check before going live
jkrug started an interesting list of checks that you shall do before you go live with your new online store: Tutorials/Check before going live.

Where does the php.ini for the Zend Optimizer go if you host at 1&amp;1 or Strato
If you use OXID eShop Professional Edition or Enterprise Edition, Zend Optimizer is still mandatory for your installation. Learn how to install it if you use 1&amp;1 or Strato as your hosting provider: http://wiki.oxidforge.org/Tutorials/where_does_the_php.ini_go_for_PE_and_EE_if_you_host_at_1%261_or_Strato

Language handling from eShop v4.5.0
MySQL table row size limitations reduced number of possible languages in OXID eShop. The number of supported languages decreased even more if UTF8 encoding is used, since the row size increases. This tutorial shows how you can access and control new language handling. http://wiki.oxidforge.org/Language_handling_from_eShop_v4.5.0

Database Structure
database documentation

List of Config Options
http://wiki.oxidforge.org/Tutorials/List_of_config_options

List of Not Overwritable Classes
http://wiki.oxidforge.org/Tutorials/List_of_not_overloadable_classes

List of Deprecated and Removed Code
http://wiki.oxidforge.org/Tutorials/Removed_deprecated_source

List of Cookies used
http://wiki.oxidforge.org/Tutorials/List_of_Cookies

[4.7./5.0] Update from 4.6.5 to 4.7.0 or 5.0.0
http://wiki.oxidforge.org/Tutorials/Update_from_4.6.5_to_4.7.0_or_5.0.0

[4.7./5.0] bootstrap process
http://wiki.oxidforge.org/Tutorials/bootstrap_process_refactored_in_4.7_5.0

[4.7./5.0] use basic theme from version 4.7 and 5.0 on
http://wiki.oxidforge.org/Tutorials/use_basic_theme_from_version_4.7_and_5.0_on

[4.7./5.0] widgets from 4.7/5.0
http://wiki.oxidforge.org/Tutorials/widgets_from_4.7_5.0