Extending LemonStand
We are working on this documentation section at the moment.
LemonStand is a modular web application based on the PHP Road framework. PHP Road is an object-oriented PHP framework which includes many modern web application programming approaches like the MVC (Model-View-Controller), and ActiveRecord (a way to work with database tables). PHP Road also have some unique features, like behaviors and deferred database bindings, which allow to increase the development productivity. The framework has been developed before we started working on LemonStand and we were improving it during the application development. Specific features of the framework will be explained in this guide.
- Developing LemonStand modules - describes the module anatomy and explains what tasks you solve with custom modules
- Developing a simple module - describes a process of developing a simplest LemonStand module
- Creating and updating database tables - explains how you can create or update module-specific database tables
- Working with the database - describes methods of working with database tables and creating model classes
- Creating data relations - explains how you can organize data relations using ActiveRecord - "many to many" and "one to many"
- Adding a back-end user interface - describes the process of adding new pages to the Administration Area
- Structure of a view document - explains the internal structure of a view document
- Partials - explains how you can re-use common page elements using the partials concept
- Standard page elements - describes the standard Administration Area page elements like breadcrumbs, toolbars, indicators and buttons
- Handling errors and displaying status messages - explains how you can throw exceptions and display error and success messages on the pages
- Extending the Administration Area menu - explains how you can add new items to the main menu and new tabs to the top menu in the Administration Area
- Using AJAX - describes how you can use AJAX in the Administration Area
- Lists and forms in the Administration Area - describes the process of implementing lists and forms
- Lists - describes the process of implementing lists in the Administration Area
- List filters - explains how you can add the filtering feature to a list
- Forms - explains how you can create forms for adding, modifying and deleting database records
- Working with checkboxes and drop-down menus - explains how to work with customized controls in LemonStand Administration Area.
- Programming module CMS actions - explains how your modules can add new items to the CMS action list and extend the front-end website with new functions
- Using module access points - explains how you can register a module access point for invoking module features them through specific URLs
- Handling LemonStand events - explains how you can customize LemonStand by handling system events
- Extending existing models - explains how you can add new fields to the customer, product and order models
- Extending models with related columns - explains how you can add data relations in run-time and extend existing models with columns which refer to another model
- Sending email messages - explains how you can send email messages to LemonStand customers or system administrators.
- Creating module settings pages - explains how to add new links to the System/Settings and My Settings pages and how to implement settings forms.
- Developing payment modules - explains how you can implement integration with payment gateways not supported by native LemonStand payment modules
- Redirection integration method - explains how you can implement payment modules for redirection integration methods like PayPal Standard
- Server-to-server integration method - explains how you can implement payment modules for server-to-server integration methods like PayPal Pro
- Developing shipping modules - explains how you can implement integration with shipping services not supported by native LemonStand shipping modules.
- LemonStand module templates - this section contains some module templates which you can use as a basement for your own modules
- Accessing LemonStand API from third-party scripts - explain how you can access any LemonStand class and function from a third-party PHP script
- Extending the Discount Engine - explains the process of developing new discount engine conditions and actions.
- Authoring for LemonStand Marketplace - explains the process of becoming an author and developing themes and modules for the Marketplace.
- Becoming an author - explains the process of becoming a Marketplace author.
- Creating themes for Marketplace - explains the process of creating themes for LemonStand Marketplace.
- Creating modules for Marketplace - explains the process of creating and publishing modules on Marketplace.
Next: Developing LemonStand modules
Previous: Customizing the Administration Area
Return to Developer Guide

