Додавання панелі інструментів за замовчуванням joomla на сторінку перегляду компонентів


10

Я розробляю mvc компонент для Joomla 2.5 і 3. У багатьох компонентах я бачив, що вони додали командні кнопки за замовчуванням joomla, як нові, редагувати, публікувати, сміття, параметри вгорі сторінки налаштувань на стороні адміністратора. Напр. якщо перейти компоненти-> веб-посилання-> сторінка посилань, я говорю про ці командні кнопки вгорі праворуч.

Тож як додати ці командні кнопки на сторінку налаштувань мого компонента? при натисканні на нього буде зроблено відповідне дію та відображатиметься відповідний вигляд. Наприклад, якщо я натискаю кнопку "новий", він відображатиме подання запису мого компонента mvc таким, яким він є.

Тож як я можу додати повністю працездатні кнопки команд Joomla на сторінку налаштувань мого компонента на стороні адміністратора.

Відповіді:


12

Найкраща практика - створити addToolBar()метод всередині свого класу View, а потім використовувати JToolBarHelperклас для створення командних кнопок:

protected function addToolBar()
{
  JToolBarHelper::addNew('yourcontroller.add');
  JToolBarHelper::editList('yourcontroller.edit');
}

Таким чином, вони будуть називати завдання / функцію "додати" / "редагувати" у вказаному контролері. Потім просто зателефонуйте $this->addToolBar()у display()спосіб перегляду.

Довідка Створення панелі інструментів для вашого компонента


У моєму компоненті є лише файл контролера controller.php, і всередині нього у мене є функція, function add() { JRequest::setVar('view', 'entry'); JRequest::setVar('layout', 'form'); parent::display(); }тому в файл view.html.php я додав JToolBarHelper :: addNewX ('controller.add'); тоді з’являється нова кнопка, але при натисканні вона не переходить до моєї форми перегляду, натомість додає # до URL-адреси
dev-m

Спробуйте опустити controller.task-JToolBarHelper::addNewX();
Дмитро Рекун

Додано лише JToolBarHelper :: addNewX (); але не працює.
dev-m

Тоді вам потрібно створити відповідний контролер під controllersкаталогом. Див. Додавання резервних дій
Дмитро Рекун

5

Потрібно переконатися, що представлення, яке відображає кнопки, має форму для подання. Назва форми має бути адміністратором. Форма також повинна мати приховане поле з назвою завдання та динамічно генерований маркер. Я не можу згадати API вгорі голови, але щось подібне JHtml::_('form.token');(хтось, будь ласка, виправте це, якщо я помиляюся)

Це роби трюк.


Проблема, яку я з'ясував раніше, полягала в тому, що я використовував ім'я форми як адміністратор замість adminForm.it здається, що Joomla має вигляд регістру!
дев-м

Це скоріше справа JavaScript, ніж специфічна Joomla. Якщо ви натискаєте кнопки, ви фактично запускаєте функцію подання форми JS, тож якщо форму неможливо знайти, то вона спокійно виходить з ладу.
Матвій Леннінг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.