Skip to main content

OpenCart : Basic

OpenCart is a very popular CMS recent days. I'm working With open for Last 1 and half years.
I was never been a writer, this is my first attempt to write something on blog.

I'm going to explain and do some example how can we modify opencart coding.

OpenCart is a CMS with MVC(Model–View–Controller) format.
The basic File structure.

Admin part:
/admin
/admin/controller/
/admin/model/
/admin/language/
/admin/view/

Public part:
/catalog

/catalog /controller/
/catalog /model/
/catalog /language/
/catalog /view/

In /system:
this part is used to the open cart system run it content all the basic engine for controller,model,database and a library of some much needed model. like cart, customer, database,session etc.

there are two folder /image and /download the admin and the public both  use this folder for storing and showing image and other  files.

There are some folders need to be writable /system/cache ,   /system/logs , /image and /download

In the /../controller folder opencart keeps all its controller files /../model folder models and /../view  view files
the /../language fro language files fro various languages.




Comments

Popular posts from this blog

OpenCart : Route

In open cart the routeing technique is very simple, If we wan  to call a module or controller /catalog/controller/product/category.php the we have to call it like 'index.php?route=product/product'. Here product is the folder name category is the controller file name without the file extension.   'index.php?route=product/product'  it will execute the   public function index(){     ...  }  'index.php?route=product/product/menthod' then is ill call    public function method(){     ...  } the method should be public otherwise the system will not be able to call it we will know more about that later.

Mysql function: GROUP_CONCAT() (Like implode() in php)

Today i have to solve a problem in MySql , The problem is i have two table in openCart 1. category_description category_id language name 1 1 category 1 2 1 category 2 3 1 category 3 4 1 category 4 5 1 category 5 6 1 category 6 7 1 category 7 8 1 category 8 1. product_category produc_id category_id 1 1 1 2 1 5 2 1 2 3 2 4 3 2 3 6 The resulting data should be like that produc_id category_name 1 category 1,category 2,category 5 2 category 1,category 3,category 4 3 category 2,category 6 I can do tha by in php by taking the category name to it's respective product id and implode them , but it will take much time and processor power cos the i have to do query every product id separately, I was searching the right query in MySql and found the function   GROUP_CONCAT()  http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function

OpenCart : Create a Model

To make  a Model   class Model<foldername><filename with out extention> extends Model{       public function methode(){     .....     }  }  We can call a model from controller using  $this->load->model('<folder>/<filename with out extention>'); And after that we can call the method like below $this->model_<folder>_<filename with out extention>->methode(); The Method should be public