E-mail Печать

Шаг 4. Создание Панелей инструментов

В любом компоненте Joomla в административной части присутствует Панель инструментов, она позволяет добавлять, изменять, удалять и делать прочие операции. В нашем компоненте мы также создадим панели инструментов.
Для начала создадим файл toolbar.goodtimes.html.php в папке administrator/components/com_goodtimes и вставим в него следующий код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );

class TOOLBAR_goodtimes {
function _NEW() {
JToolBarHelper::save();
JToolBarHelper::apply();
JToolBarHelper::cancel();
}

function _DEFAULT() {
JToolBarHelper::title( JText::( 'Обзор развлекательных заведений' ), 'generic.png' );
JToolBarHelper::publishList();
JToolBarHelper::unpublishList();
JToolBarHelper::editList();
JToolBarHelper::deleteList();
JToolBarHelper::addNew();
}
}

?>

Панели инструментов теперь определены, но мы должны добавить некоторый код, который решит как показать их. Создайте файл toolbar.goodtimes.php в папке administrator/components/com_goodtimes и добавьте в него код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );

require_once( JApplicationHelper::getPath( 'toolbar_html' ) );

switch($task)
{
case 'edit':
case 'add':
TOOLBAR_goodtimes::_NEW();
break;

default:
TOOLBAR_goodtimes::_DEFAULT();
break;
}

?>

Строка, содержащая require_once (...), использует getPath () это функция класса JApplicationHelper. Вызов функции getPath () позволяет вам вызвать файл toolbar.goodtimes.html.php, не передавая название компонента.

После того, как toolbar.goodtimes.php загрузит файл с представлением панели инструментов, нужно решить какая панель инструментов должна быть показана. Для этого служит переменная запроса $task автоматически зарегистрированная в глобальной области Joomla! и используется, чтобы направлять логику компонента. Теперь если открыть компонент через административную часть, то мы увидим следующее:

Шаг 4

Чтобы увидеть другую панель инструментов, добавьте &task=add в конец URL в Вашем браузере. Панель инструментов должна выглядеть вот так:

Шаг 4

Естественно что пользователи не будут добавлять дополнительные переменные в строку адреса. Для этого будут служить кнопки на панели инструментов. Каждая кнопка на панели инструментов представляет различную задачу.
Далее мы рассмотрим это подробнее.

Скачатьисходный код примера

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

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

Комментарии  

 
-8 # 02.05.2010 23:16
А что указать в xml файде, чтобы заместо "generic.png" указать своё имя, и отобразилась бы своя картинка?
Ответить | Ответить с цитатой | Цитировать
 
 
+1 # 24.10.2010 09:37
Цитата:
А что указать в xml файде, чтобы заместо "generic.png" указать своё имя, и отобразилась бы своя картинка?

сохранить свою картинку под generic.png
Ответить | Ответить с цитатой | Цитировать
 
 
0 # 23.10.2010 17:08
У меня на странице админки открывается страница с кодировкой windows-1251. Вроде все сделал один-в-один как в примере. В чем может быть проблема?
Ответить | Ответить с цитатой | Цитировать
 
 
0 # 24.10.2010 09:36
Цитирую Юрий:
У меня на странице админки открывается страница с кодировкой windows-1251. Вроде все сделал один-в-один как в примере. В чем может быть проблема?

Наблюдалась такая хрень, лечилось. Я думаю скорее всего сохраняете файлы в кодировке windows-1251, т.е. их нужно пересохранить в utf-8
Ответить | Ответить с цитатой | Цитировать
 
 
0 # 12.11.2010 20:17
С кодировкой в административно й части тоже какая то фигня, хотя файлы сохраняю в UTF-8. Причем в иероглифах вся страница.. даже не знаю че за косяк
Ответить | Ответить с цитатой | Цитировать
 
 
0 # 01.12.2010 21:20
смени кодировку в браузере.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # 12.11.2010 20:24
Открываю в мозиле -косяк, в экспоуре - все нормально
Ответить | Ответить с цитатой | Цитировать
 
 
0 # 29.01.2011 21:12
Аналогичная проблема с кодировкой.
Даже при вставке из Ваших "Скачатьисходный код примера".
Вот такая картина:
http://www.k-max.name/wp-content/uploads/2011/01/11.png
Ответить | Ответить с цитатой | Цитировать
 
 
0 # 01.02.2011 18:02
Цитирую Mc.Sim:
Аналогичная проблема с кодировкой.
Даже при вставке из Ваших "Скачатьисходный код примера".
Вот такая картина:
http://www.k-max.name/wp-content/uploads/2011/01/11.png

Да есть такое, в причине разбираться не стал.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # 09.02.2011 16:30
это здорово а как создать кнопки публикация, тоесть конкретно каждое меню имеет кнопку а именно флажки!
Индикатор статуса опубликовано и нет!
А так же как подключить постраничный вывод!
Ответить | Ответить с цитатой | Цитировать
 
 
+2 # 15.02.2011 11:20
Тоже столкнулся со слетающей кодировкой с utf-8 на windows-1251.
Заборол добавление строки в конец 3х фалов из админ каталог:
header( 'Content-Type: text/html; charset=utf-8' );

Народ не ленитесь выкладывайте ваши правки косяков и вам помогут в следующий раз такие же как и вы.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # 24.06.2011 18:47
И действительно помагает вставка кода
header( 'Content-Type: text/html; charset=utf-8' );
но только я вставил в один файл admin.goodtimes.php и все здорово заработало.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # 28.08.2011 04:27
Спасибо за материалы, подсобили!
Ответить | Ответить с цитатой | Цитировать
 
 
0 # 06.12.2011 14:29
Сделал все как написано выдает ошибку:
Fatal error: Call to undefined function stderr() in Z:\home\localho st\www\spectorg \administrator\ components\com_ goodtimes\admin .goodtimes.php on line 14
Как ее испрвить?
Ответить | Ответить с цитатой | Цитировать
 
 
0 # 05.05.2012 23:31
JToolBarHelper: :title( JText::_( 'обзор' ), 'generic.png' ); перед ( 'обзор' ), нижнее подчёркивание поставь в файле toolbar.goodtimes.html.php
Ответить | Ответить с цитатой | Цитировать
 

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


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