Follow me on...

  • FeedBurner: Joomla15Joomla15
  • Twitter: alexkurgan

Немножко приукрасим интерфейс администратора

E-mail Печать

Использование собственных иконок

Создайте 2 иконки для нашего приложения размером 16х16 и 48х48 пикселей и назовите их к примеру hello_icon16.png и hello_icon48.png. Сохраните их в папке media/images/.

В файле helloworld.xml перед строкой <administration> добавьте следующие строки:

<media destination="com_helloworld" folder="media">
    <filename>index.html</filename>
    <folder>images</folder>
</media>

замените строку

<menu>COM_HELLOWORLD_MENU</menu>

на

<menu img="../media/com_helloworld/images/hello_icon16.png">COM_HELLOWORLD_MENU</menu>

также сразу измените версию компонента на 0.0.10

Откройте файл admin/views/helloworlds/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');
 
/**
 * HelloWorlds View
 */
class HelloWorldViewHelloWorlds extends JView
{
	/**
	 * HelloWorlds view display method
	 * @return void
	 */
	function display($tpl = null) 
	{
		// Get data from the model
		$items = $this->get('Items');
		$pagination = $this->get('Pagination');
 
		// Check for errors.
		if (count($errors = $this->get('Errors'))) 
		{
			JError::raiseError(500, implode('<br />', $errors));
			return false;
		}
		// Assign data to the view
		$this->items = $items;
		$this->pagination = $pagination;
 
		// Set the toolbar
		$this->addToolBar();
 
    // Display the template
		parent::display($tpl);
 
		// Set the document
		$this->setDocument();
	}
 
	/**
	 * Setting the toolbar
	 */
	protected function addToolBar() 
	{
		JToolBarHelper::title(JText::_('COM_HELLOWORLD_MANAGER_HELLOWORLDS'), 'helloworld');
		JToolBarHelper::deleteList('', 'helloworlds.delete');
		JToolBarHelper::editList('helloworld.edit');
		JToolBarHelper::addNew('helloworld.add');
	}
 
	/**
	 * Method to set up the document properties
	 *
	 * @return void
	 */
	protected function setDocument() 
	{
		$document = JFactory::getDocument();
		$document->setTitle(JText::_('COM_HELLOWORLD_ADMINISTRATION'));
	}
}

Здесь функции JToolBarHelper::title мы передаем второй параметр helloworld, это добавит к заголовку компонента css класс helloworld. Метод _setDocument служит для установки заголовка браузера.

Откройте файл admin/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');
 
/**
 * HelloWorld View
 */
class HelloWorldViewHelloWorld extends JView
{
	/**
	 * display method of Hello view
	 * @return void
	 */
	public function display($tpl = null) 
	{
		// get the Data
		$form = $this->get('Form');
		$item = $this->get('Item');
 
		// Check for errors.
		if (count($errors = $this->get('Errors'))) 
		{
			JError::raiseError(500, implode('<br />', $errors));
			return false;
		}
		// Assign the Data
		$this->form = $form;
		$this->item = $item;
 
		// Set the toolbar
		$this->addToolBar();
 
		// Display the template
		parent::display($tpl);
 
		// Set the document
		$this->setDocument();
	}
 
	/**
	 * Setting the toolbar
	 */
	protected function addToolBar() 
	{
		JRequest::setVar('hidemainmenu', true);
		$isNew = ($this->item->id == 0);
		JToolBarHelper::title($isNew ? JText::_('COM_HELLOWORLD_MANAGER_HELLOWORLD_NEW')
		                             : JText::_('COM_HELLOWORLD_MANAGER_HELLOWORLD_EDIT'), 'helloworld');
		JToolBarHelper::save('helloworld.save');
		JToolBarHelper::cancel('helloworld.cancel', $isNew ? 'JTOOLBAR_CANCEL' : 'JTOOLBAR_CLOSE');
	}
 
	/**
	 * Method to set up the document properties
	 *
	 * @return void
	 */
	protected function setDocument() 
	{
		$isNew = ($this->item->id < 1);
		$document = JFactory::getDocument();
		$document->setTitle($isNew ? JText::_('COM_HELLOWORLD_HELLOWORLD_CREATING')
		                           : JText::_('COM_HELLOWORLD_HELLOWORLD_EDITING'));
	}
}

Здесь мы также добавляем css класс нашему заголовку и устанавливаем заголовок браузера.

Откройте файл admin/helloworld.php и после строки

defined('_JEXEC') or die('Restricted access');

вставьте код:

// Set some global property
$document = JFactory::getDocument();
$document->addStyleDeclaration('.icon-48-helloworld {background-image: url(\'../media/com_helloworld/images/hello_icon48.png\');}');

Откройте файл admin/language/en-GB/en-GB.com_helloworld.ini и замените код на следующий:

COM_HELLOWORLD_ADMINISTRATION="HelloWorld - Administration"
COM_HELLOWORLD_HELLOWORLD_CREATING="HelloWorld - Creating"
COM_HELLOWORLD_HELLOWORLD_DETAILS="Details"
COM_HELLOWORLD_HELLOWORLD_EDITING="HelloWorld - Editing"
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_DESC="This message will be displayed"
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_LABEL="Message"
COM_HELLOWORLD_HELLOWORLD_HEADING_GREETING="Greeting"
COM_HELLOWORLD_HELLOWORLD_HEADING_ID="Id"
COM_HELLOWORLD_MANAGER_HELLOWORLD_EDIT="HelloWorld manager: Edit Message"
COM_HELLOWORLD_MANAGER_HELLOWORLD_NEW="HelloWorld manager: New Message"
COM_HELLOWORLD_MANAGER_HELLOWORLDS="HelloWorld manager"
COM_HELLOWORLD_N_ITEMS_DELETED_1="One message deleted"
COM_HELLOWORLD_N_ITEMS_DELETED_MORE="%d messages deleted"
COM_HELLOWORLD_HELLOWORLD_GREETING_LABEL="Message"
COM_HELLOWORLD_HELLOWORLD_GREETING_DESC="Enter Message"

Откройте файл admin/language/ru-RU/ru-RU.com_helloworld.ini и замените код на следующий:

COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_DESC="Сообщение для отображения"
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_LABEL="Сообщение"
COM_HELLOWORLD_HELLOWORLD_HEADING_GREETING="Приветствие"
COM_HELLOWORLD_HELLOWORLD_HEADING_ID="Id"
COM_HELLOWORLD_ADMINISTRATION="Привет МИР! - Администрирование"
COM_HELLOWORLD_HELLOWORLD_CREATING="Привет МИР! - Приветствие"
COM_HELLOWORLD_HELLOWORLD_DETAILS="Подробно"
COM_HELLOWORLD_HELLOWORLD_EDITING="Привет МИР! - Изменить"
COM_HELLOWORLD_MANAGER_HELLOWORLD_EDIT="Привет Мир!: Изменить сообщение"
COM_HELLOWORLD_MANAGER_HELLOWORLD_NEW="Привет Мир!: Добавить сообщение"
COM_HELLOWORLD_MANAGER_HELLOWORLDS="Привет МИР! управление"
COM_HELLOWORLD_N_ITEMS_DELETED_1="Одно сообщение удалено"
COM_HELLOWORLD_N_ITEMS_DELETED_MORE="%d сообщений удалено"
COM_HELLOWORLD_HELLOWORLD_GREETING_LABEL="Сообщение"
COM_HELLOWORLD_HELLOWORLD_GREETING_DESC="Введите сообщение для отображения"

Создайте архив с компонентом, установите его на сайт.

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

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