Follow me on...

  • FeedBurner: Joomla15Joomla15
  • Twitter: alexkurgan

Создание модели для интерфейса пользователя

E-mail Печать

Модель отвечает за управление данными в компоненте.

Создайте в папке site папку 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 = 'Привет МИР! Говорит модель :)';
		}
		return $this->msg;
	}
}

здесь функция getMsg возвращает данные тому кто ее вызвал.

Так же не забывайте скопировать файл index.html в папку models и вообще в каждой папке компонента, модуля или плагина должен присутствовать этот файл, для защиты директории от листинга файлов.

Далее открой те файл site/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);
	}
}

здесь класс HelloWorldViewHelloWorld запрашивает данные у модели методом get класса JView .

Также отредактируйте файл helloworld.xml , где укажите версию компонента 0.0.4 и в секцию <files folder="site"> добавьте следующий код:

<folder>models</folder>

это объявление говорит о том, что у нас добавилась еще одна папка.

Создайте архив с компонентом, установите его на сайт и проверьте работоспособность используя ссылку в меню в интерфейсе пользователя.

Скачать архив для этой части курса

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Mark
 
Интересная статья? Поделись ей с другими: