Joomla Первые шаги

установка, настройка, полезные советы

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Шаг 2. Добавление бизнес модели

E-mail Печать PDF
На первом шаге был создан компонент view-controller для CMS Joomla 1.5.
Реализован код вывода сообщения, который является точным образцом MVC.
На этом шаге мы в наш компонент добавим Бизнес модель (Model)

Создание модели

Модель - часть компонента, которая предоставляет данные для Представления по его запросу посланому через Контроллер.  В Joomla 1.5, Модель будет содержать классы функций: добавить, удалить и модернизировать информацию в таблицах базы данных. На этом шаге мы будем моделировать событие нашего компонента, которое генерирует сообщение. Таким образом в компоненте будет один запрос к модели getBoardmsg (), который возвратит наше сообщение. Код модели будет таким:

<?php
/**
 * Модель для Компонета "js_board" 
 * @package  JoomlaStart  
 * @package component/model/models/js_board.php
 * @link http://www.joomlastart.ru
 * @license  GNU/GPL
 *
// Защита от прямого обращения к скрипту defined( '_JEXEC' ) or die( 'Restricted access' );   jimport( 'joomla.application.component.model' );   class js_boardModeljs_board extends JModel { function getBoardMsg() { return 'Это доска объявлений'; } }

 Примечание:  jimport - функция загрузки библиотеки по указанному пути.

Сделаем изменения в файле view.html.php  заменим строку:

 $boardmsg = "Это доска объявлений";

 На следующий код:

 
$model = $this->getModel();
$boardmsg = $model->getBoardMsg();

Файл view.html.php будет выглядеть так:

<?php
/**
 * @package joomlastart  
 * @subpackage Components
 * components/com_js_board/js_board.php
 * @link http://www.joomlastart.ru
 * @license    GNU/GPL
*/
 
//  Защита от прямого обращения к скрипту
defined( '_JEXEC' ) or die( 'Restricted access' );
 
jimport( 'joomla.application.component.view');
 
/* HTML View class for the js_board Component * @package js_board */
 
class js_boardViewjs_board extends JView
{
    function display($tpl = null)
    {
       $model = $this->getModel();
       $boardmsg = $model->getBoardMsg();
       $this->assignRef( 'boardmsg',	$boardmsg );
        parent::display($tpl);
    }
}
?>

 Остается добавить в наш установочный файл директивы для добавления файла модели

 

<filename>models/index.html</filename>
<filename>models/js_board.php</filename> 

 

Весь установочный файл будет таким:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install SYSTEM "http://dev.joomla.org/xml/1.5/component-install.dtd">
<install type="component" version="1.5.0">
 <name>js_board</name>
 <!-- The following elements are optional and free of formatting conttraints -->
 <creationDate>2011 02 10</creationDate>
 <author> joomlastart</author>
 <authorEmail>info@joomlastart.ru</authorEmail>
 <authorUrl>http://www.joomlastart.ru</authorUrl>
 <copyright>Copyright Info</copyright>
 <license>License Info</license>
 <!--  The version string is recorded in the components table -->
 <version>0.0.2</version>
 <!-- The description is optional and defaults to the name -->
 <description>Description of the component ...</description>
 
 <!-- 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>js_board.php</filename>
  <filename>controller.php</filename>
  <filename>views/index.html</filename>
  <filename>views/js_board/index.html</filename>
  <filename>views/js_board/view.html.php</filename>
  <filename>views/js_board/tmpl/index.html</filename>
  <filename>views/js_board/tmpl/default.php</filename>
  <filename>models/index.html</filename>
  <filename>models/js_board.php</filename>
 </files>
 
 <administration>
  <!-- Administration Menu Section -->
  <menu>Board </menu>
 
  <!-- Administration Main File Copy Section -->
  <files folder="administrator">
   <filename>index.html</filename>
   <filename>admin.js_board.php</filename>
  </files>  
 </administration>
</install>

скачать компонент Шаг 2 можно здесь

 

 


 

 

 

 

 

 

 

Добавить комментарий


Защитный код
Обновить

Вход/регистрация

Подписка на новости

ыыыыыы

Подписка на e-mail:

Последние комментарии

  • Странно что в этом обзоре нет нашего - HostingJoom...
  • Заходите на Бесплатный Хостинг: 2GB на диске, 100G...
  • Посмотрите какие еще стили подгружаются.
  • Откройте файл configuration.p hp и в переменной va...
  • Прописал новый стиль, но почему-то нумерация стран...