Использование собственных иконок
Создайте 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="Введите сообщение для отображения"
Создайте архив с компонентом, установите его на сайт.