First, create the xml file and name it jchelloworld.xml
<?xml version="1.0" encoding="utf-8"?> <install type="component" version="1.5" method="upgrade"> <name>JC Hello World</name> <creationDate>February 2012</creationDate> <author>Joef Clarin</author> <version>3.0.0</version> <description>JC Hello World</description> <files> <filename>jchelloworld.php</filename> <filename>controller.php</filename> <folder>views</folder> <folder>models</folder> </files> <administration/> </install>
Second, create the entry point file and name it jchelloworld.php
<?php defined('_JEXEC') or die('Restricted access'); require_once JPATH_COMPONENT.DS.'controller.php'; $controller = new JCHelloWorldController(); $controller->execute(JRequest::getWord('task')); $controller->redirect(); ?>
Third, create the controller and name it controller.php
<?php defined('_JEXEC') or die('Restricted access'); jimport('joomla.application.component.controller'); class JCHelloWorldController extends JController { public function display() { parent::display(); } } ?>
Fourth, create a folder and name it views. Inside the views folder, create another folder then name it jchelloworld.
Fifth, create the view file and name it view.html.php
<?php defined('_JEXEC') or die('Restricted access'); jimport('joomla.application.component.view'); class JCHelloWorldViewJCHelloWorld extends JView { public function display() { $model =& $this->getModel(); $message = $model->getMessage(); $this->assignRef('message', $message); parent::display(); } } ?>
Fifth, create a folder inside /views/jchelloworld and name it tmpl.
Sixth, create the template file inside the tmpl folder and name it default.php
<?php defined('_JEXEC') or die('Restricted access'); echo $this->message; ?>
Seventh, in your component's folder create another folder and name it models
Eighth, create the model file and name it jchelloworld.php
<?php defined('_JEXEC') or die('Restricted access'); jimport('joomla.application.component.model'); class JCHelloWorldModelJCHelloWorld extends JModel { public function getMessage() { return "hello world!"; } } ?>
Zip the folder and install. You should see the result like this
Download version 5 here
----------------
version 1
version 2
version 3
version 4
version 5
No comments:
Post a Comment