Skip to content

Now Use CI for Joomla development

Gowrav Vishwakarma edited this page Jan 19, 2014 · 9 revisions

xCIDEveloper is now updated to work with Joomla 3.0+

on 18 Jan 2014

Now Develop for Joomla in CodeIgniter, xCIDeveloper 0.6 released on 28 july 2011. installs in Joomla 1.5, 1.6 and 1.7 in same way and components developed in xCI works same in any of joomla version. http://www.xavoc.com/ [EDIT] Now its a Registered Component in Joomla http://archive.extensions.joomla.org/extensions/miscellaneous/development/16143 V1.0 released ... [/EDIT] This is our first contribution to community infect it’s for two communities CI (Codeigniter) and Joomla. It’s a merging of best of both. Currently its in beta release so there can be some problems, so don't forget to post a email about that. XCIDEVELOPER USER GUIDE

XCI system merges the two wonder full systems available in PHP development word CI (Codeigniter the powerful framework for developers) and Joomla (Powerful CMS to manage your sites). Yes joomla has its own framework but there is a huge community working on CI and once a person starts working in CI he/she rarely accepts any other framework for development due to its simplicity, very fast learning curve and still its complete for any kind of development. But Joomla regularly attracts them as a CMS to deliver their sites faster but again component development in joomla looks complex for CI developers so .. here we are.. Now develop your components in CI with xCIDeveloper.

Here are a few additions you can use for much faster process

  1. $this->load->view(viewname,data,return view true/false, parse of content.prepared true/false); this is one addition to parse your contents with joomlas content plug-ins. means by this last argument as true your content is parsed by joomas plug-ins
  2. you can call any of your controller and its function by passing querystring index.php?option=com_{yourcomponent}&controller;={your ci controller}&task;={your ci function} But from a lot of points as in admin you can pass only task as fastest way so instead of passing controller and task you can pass directly task=controller.function way means any url to index.php?option=com_{yourcomponent}&task=welcome.help will call welcome controller's help function
  3. You can use default CI views but if you want to take advantages of joomlas layout just do the followings a) in views folder make a FOLDER with your view name instead viewname.php file. b) In that folder make view.html.php file (Yes always view.html.php or view.raw.php or view.pdf.php etc. ) c) In your this View FOLDER make another FOLDER named tmpl d) In this tmpl folder make default.php as your default layout or xyz.php for xyz layout e) now put this code in your view.html.php file (again yes, always this line without any change) and you are ready to go. f) You can use this view.html.php file as another middle layer to work between controller and view or you just can leave this with above single line
  4. Every component you create through this system may have its own system folder in admin side, but if you are using more then one xCIDeveloper components then you just can place this system folder in JOOMLA_ROOT path (No changes to be made in any file) and then create any new project by making off the option Include Code Igniter System with component
  5. And yes now no more use of redirect() instead use xRedirect("index.php?option=com_{anycomp}&task;={yourtask}&other;_parameters_to_pass","Message to show on next page after redirection","notice | error | {or leav it blank for default} is mode of message");, we have not overloaded function because Joomla redirect function has heigher priority then CI's redirect

Thats it for now ... start using your CI skills to develop joomla components.

Keep coming on xavoc.com for updates as we are soon launching module and plugins development in CI

Thank you for using our product.

INSTALL BOTH COMPONENTS (in any order) FOR DEVELOPMENT

Download URL

http://www.xavoc.com/?page=xcideveloper

EDIT: v 0.3 is released as Component and modules both can be developed by xCIDeveloper

Clone this wiki locally