Л
и
ч
н
ы
й
 
к
а
б
и
н
е
т
Goldensites | CMS Joomla | Joomla 1.6 | Статьи Joomla 1.6 | Продолжаем разработку компонента для Joomla! 1.6 (Часть 4)

Продолжаем разработку компонента для Joomla! 1.6 (Часть 4)

Сначало прочтите Создание компонента Joomla! 1.6 (Часть 3) Добавляем тип пункта меню
Продолжим разработку компонента для Joomla! 1.6
В платформе Joomla! 1.6 модели отвечают за управление данными. Первая функция, которая должна быть определена для модели - функция получения данных.

Создаем файл yoursite.ru/components/com_helloworld/models/helloworld.php файл, содержащий:
<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
 
// import Joomla modelitem library
jimport('joomla.application.component.modelitem');
 
/**
 * HelloWorld Model
 */
class HelloWorldModelHelloWorld extends JModelItem
{
 /**
 * @var string msg
 */
 protected $msg;
 
 /**
 * Get the message
 * @return string The message to be displayed to the user
 */
 public function getMsg() 
 {
 if (!isset($this->msg)) 
 {
 $this->msg = 'Hello World!';
 }
 return $this->msg;
 }
}


Класс HelloWorldViewHelloWorld запрашивает у модели данные, используя метод get класса JView:
yoursite.ru/components/com_helloworld/views/helloworld/view.html.php
<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
 
// import Joomla view library
jimport('joomla.application.component.view');
 
/**
 * HTML View class for the HelloWorld Component
 */
class HelloWorldViewHelloWorld extends JView
{
 // Overwriting JView display method
 function display($tpl = null) 
 {
 // Assign data to the view
 $this->msg = $this->get('Msg');
 
 // Check for errors.
 if (count($errors = $this->get('Errors'))) 
 {
 JError::raiseError(500, implode('<br />', $errors));
 return false;
 }
 // Display the view
 parent::display($tpl);
 }
}


Теперь модифицируем файл helloworld.xml и отражаем в нем модель:
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="1.6.0" method="upgrade">
 
 <name>Hello World!</name>
 <!-- The following elements are optional and free of formatting conttraints -->
 <creationDate>November 2009</creationDate>
 <author>John Doe</author>
 <authorUrl>http://www.example.org</authorUrl>
 <copyright>Copyright Info</copyright>
 <license>License Info</license>
 <!--  The version string is recorded in the components table -->
 <version>0.0.4</version>
 <!-- The description is optional and defaults to the name -->
 <description>Description of the Hello World component ...</description>
 
 <update> <!-- Runs on update; New in 1.6 -->
 <schemas>
 <schemapath type="mysql">sql/updates/mysql</schemapath>
 </schemas>
 </update>
 
 <!-- Site Main File Copy Section -->
 <!-- Note the folder attribute: This attribute describes the folder
 to copy FROM in the package to install therefore files copied
 in this section are copied from /site/ in the package -->
 <files folder="site">
 <filename>index.html</filename>
 <filename>helloworld.php</filename>
 <filename>controller.php</filename>
 <folder>views</folder>
 <folder>models</folder>
 </files>
 
 <administration>
 <!-- Administration Menu Section -->
 <menu>Hello World!</menu>
 <!-- Administration Main File Copy Section -->
 <!-- Note the folder attribute: This attribute describes the folder
 to copy FROM in the package to install therefore files copied
 in this section are copied from /admin/ in the package -->
 <files folder="admin">
 <!-- Admin Main File Copy Section -->
 <filename>index.html</filename>
 <filename>helloworld.php</filename>
 <!-- SQL files section -->
 <folder>sql</folder>
 </files>
 </administration>
 
</extension>


Установочный пакет

* helloworld.xml
* site/index.html
* site/helloworld.php
* site/controller.php
* site/views/index.html
* site/views/helloworld/index.html
* site/views/helloworld/view.html.php
* site/views/helloworld/tmpl/index.html
* site/views/helloworld/tmpl/default.xml
* site/views/helloworld/tmpl/default.php
* site/models/index.html
* site/models/helloworld.php
* admin/index.html
* admin/helloworld.php
* admin/sql/index.html
* admin/sql/updates/index.html
* admin/sql/updates/mysql/index.html
* admin/sql/updates/mysql/0.0.1.sql

Создайте установочний файл ZIP или загрузите его Установите его с помощью менеджера расширений Joomla!1.6.

Далее читаем Создание компонента для Joomla! 1.6 (часть 5)- Добавляем параметры запроса в пункт меню
Теги:

Комментарии 

 
0 #1 German 04.05.2018 12:58
Hello, i think that i noticed you visited my website so i
got here to go back the prefer?.I'm attempting to find things
to enhance my website!I guess its adequate to use some of your ideas!!


Look into my site chocolate: http://razeshoelifts.com
Цитировать