CodeIgniter Forums

Full Version: CI ecommerce
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3

El Forum

[eluser]ashabi[/eluser]
In the past I have programmed everything as plain php. I now have a project to create an ecommerce shop (multilingual and multi curriencies). I want to try to move to CI. This would be my first project.

Not sure where or how to begin with CI. All the designs are ready including a functionality list but I feel lost.

Any ideas?

El Forum

El Forum

[eluser]tomcode[/eluser]
Welcome ashabi,

Well, I'd get first the integration of the multi language feature going, see the Wiki, its a little tricky on CI.

Then I'd decide on controller / app structure, do You want to use an modular approach like MatchBox or HMVC or stick to traditional CI coding, see also MY_Controller, also on the Wiki.

Coming from plain PHP, You might miss $_GET and if You want to use relative addresses You'll need the HTML base tag.

It took me quiete a while to 'range' the code, what to put where.

I often start a project by mapping the URL's to static view files, which I load into the main template file, using the designs as background images. This gives me a good skeleton to build the HTML/CSS and to see where and how I can add function and content.

El Forum

[eluser]ashabi[/eluser]
Now I am even more nervous. I have no idea what MatchBox and HMVC are. What are the benefits?
I do like your suggestion of how you start projects.
I will definately start with that.

El Forum

[eluser]umefarooq[/eluser]
Hi
MatchBox and HMVC are use to separate you module, using these libraries you can have separate folder for your modules for example you have product module which will have product models,controller and views and so on, also you can have admin module separate.

El Forum

[eluser]ashabi[/eluser]
is one better than the other?

El Forum

[eluser]tomcode[/eluser]
I know only HMVC, it's nice for a large site, the version I used, an early one, did come with a performance hit and broke some CI conventions. As far as I know it has been rewritten by now.

El Forum

[eluser]cahva[/eluser]
We have just finished an ecommerce site, which is multilanguage-able(meaning that althought its multilanguage, we have just written it with Finnish language files ATM).

I just wanted to say what libs were used and why.

Datamapper (overzealous edition)
--------------------------------
Using ORM is just made for ecommerce Smile It would have taken a lot of time to write complicated JOINS as our shop is multilingual and almost everything can be in different language. Also the relations in some cases are very deep(eg. Category->Product->Product option->Product option description). With datamapper you can get information very easily. Theres so many good things about using datamapper in ecommerce site that I wont go into that now Smile


Modular Separation - PHP 5
--------------------------------
We just wanted to separate frontend and backend. We created only one module(it turned out that we didnt need more) - admin. This was just to get separate "sandbox" for adminside(own config, libraries, models, views and controllers folders). Sandbox might not be good way to describe as inside a module you can use libs,helpers etc. from the main folder. This was a 2-man project and we decided that my colleague does the admin side(backend) and I do the frontend.

Modular Separation is not the same as HMVC and could be concidered alternative to Matchbox.

We didnt need the actual HMVC features as we use MY_Controller to create the partials to the layout.


Internationalization (i18n) library for CodeIgniter
--------------------------------
This is what we used to get our shop multilingual. It just works as its supposed to work Smile


Carabiner
--------------------------------
Carabiner is JS and CSS management library. I just have to say that this is very handy. You just add css and js in controller if you want specific css and/or js files. It can also minimize and combine your css and js, which is nice when the site is online.


CodeIgniter-cache
--------------------------------
This is partial caching solution by Phil Sturgeon which is a must in a dynamic and user-driven site. CI's own cache will cache the whole page, which offcourse we cant do(would be funny to see someone elses cart items when browsing or login information Smile ).
Caching is a must as the site can get very heavy for example on category page which has lot of products. ATM we cache categories, products, category navigation + some other parts in the webpage.


Those are the 3rd party libs that we have used. Thank you authors, couldnt have done this without your great libs(atleast not in the same time Smile)

Ofcourse we have done few libs and helpers our own like theme, navigation, payment etc. and extended some of the libraries to our needs. But mainly we used what CI had + the 3rd party libs.

I wont give you the url to the shop yet as its been online for only a couple of days and there has been couple of bugs(noooooo... Cant be! Big Grin ). But I'll post the url later.


And ashabi, good luck with your ecommerce project. I can sincerely say that CI has dramatically reduced our developing time and was perfect to develope an ecommerce site(I really dont know what CI is not good for Wink ).

El Forum

[eluser]cahva[/eluser]
Nobody commented on my comment but anyways, I promised to give url to the shop Smile
www.fihasia.com

ATM its only in finnish but like I said, its 100% multilanguage-ready and all it needs is the freaking translation Wink

El Forum

[eluser]ashabi[/eluser]
thank you for that detailed description. i finally got the design from the designer and i am ready to begin....
Pages: 1 2 3