Wiki.Ru-Mambo.ru: РуководствоПоСозданиюКомпонентов ...
Поиск:
Наблюдать | Версия для печати | Вход:   Пароль:  

Руководство по созданию компонентов.


В этой статье я буду использовать 'mycomp' чтобы представить название компонента, которое должно быть заменено названием вашего и директорию 'installdir' как базовую инсталляционную директорию Mambo.


Для начала я объясню, какие базовые файлы нам понадобятся, чтобы построить компонент. Эти файлы сгруппированы в соответствии с тем, как они используются или просматриваются:


  • Файлы для главной страницы
    • mycomp.php
    • mycomp.html.php (не обязателен)
  • Файлы управления
    • admin.mycomp.php
    • admin.mycomp.html.php (не обязателен)
    • toolbar.mycomp.php
    • toolbar.mycomp.html.php (не обязателен)
  • Файлы для классов
    • mycomp.class.php (не обязателен)
  • Инсталяционные файлы
    • mycomp.xml
    • install.mycomp.php (не обязателен)
    • uninstall.mycomp.php (не обязателен)

Файлы с пометкой 'не обязателен' не требуются Mambo, но тем не менее, они могут вам понадобиться позже, дабы облегчить обработку вашего кода со временем.

Файлы для главной страницы (Frontend files)


Файлы в этой группе используются, чтобы отобразить компонент для посетителей сайта. Это значит, что если вы привязываете компонент к меню (используя Menu -> Main Menu -> New -> Component), эти файлы контролируют то, что видят пользователи, когда они нажимают на это меню (и соответственно на любые ссылки или кнопки отображенные на вашем компоненте).


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


<?php
/** ensure this file is being included by a parent file */
defined('_VALID_MOS') or die('Direct Access to this location is not allowed.');
?>

* mycomp.php


Этот файл по умолчанию загружается Mambo, чтобы отобразить компонент. У вас может быть что-то попроще, типа отображение даты из текстового файла или базы данных, или установка switch, которая вызывает различные функции в соответствии с выбором пользователя.


Простое объявление switch может выглядеть вот так:


<?php
switch($task) {
    case
'show_form':
        
// Отображение формы
        
break;
    case
'save':
        
// Сохранение данных из подтвержденной формы
        
break;
    default:
        
// Возможно отображает некоторые данные
        
break;
}
?>


Откуда появилась переменная $task? Вам нужно определить ее в своей форме (как скрытую переменную) или включить ее в линки, так, чтобы она могла отправлять данные на сервер. Вы можете использовать любое имя переменной, но имя 'task' принято использовать в большинстве компонентов.


Другие переменные, которые вы должны передать на сервер, это $option (название директории вашего компонента, т.е. com_mycomp) и $Itemid (менюшное ID вашего компонента). Переменная $Itemid используется чтобы сгенерировать путь и подчеркнуть активное меню. Если вы ее уберете из URL, страница все еще будет загружаться корректно, но ни одно из меню не будет выделено и путь не будет правильно отображаться.


На этой странице вы также можете использовать переменную $mainframe и $database объекты, которые предоставляют вам конфигурационные параметры, а также информацию о пользователе, который залогинился и т.д.

* mycomp.html.php (не оязателен)


Вот то самое место, где вы должны выставить классы GUI classes и функции. Конечно, можно все свалить в файл mycomp.php, но лучше иметь их в правильном месте.


Общие установки конвенций Mambo использованы в имени класса HTML_mycomp. Нет необходимости создавать функцию конструктора (constructor function) потому что мы не будем создавать инстанцию для этого класса.


<?php
class HTML_mycomp {
    function
displayForm() {
        
// Здесь выдает форму
    
}

    function
displayData($db_result) {
        
// Печатает результат запроса в таблице
    
}
}
?>


Все формы должны быть направлены на index.php. Вы можете использовать функцию sefRelToAbs(), чтобы конвертировать URL в дружественную форму для поисковых систем.


<?php

echo '<form method="POST" action="'. sefRelToAbs("index.php?option=$option&Itemid=$Itemid").'">';

?>


Так как же нам связать эти файлы? Объект $mainframe предоставляет функцию, которая называется getPath(). Добавьте следующюю строку кода к mycomp.php.


<?php
// Загружает класс HTML
require_once($mainframe->getPath('front_html'));
?>


Строка 'front_html' представляет из себя установленный Mambo ключ, чтобы подгружать файл mycomp.html.php. Есть также и другие ключи, о которых я расскажу позже. Для полного списка ключей getPath и тех мест, где Mambo ищет файлы, обращайтесь к Appendix B.


Сейчас мы можем вызывать функции, указанные ниже из файла mycomp.php вот таким вот образом:


<?php
HTML_mycomp
::displayForm();  
HTML_mycomp::displayResult();
?>

Административные файлы


Файлы этой группы используются для отображения вашего компонента для администратора Mambo. Это означает, что вы сможете добраться до этих файлов только через старницу администратора.


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


<?php
// обеспечение включение файла включен в родительский файл
defined('_VALID_MOS') or die('Direct Access to this location is not allowed.');

// обеспечение пользователя доступом к этой функции
if (!($acl->acl_check('administration', 'edit', 'users', $my->usertype, 'components', 'all') || $acl->acl_check('administration', 'edit', 'users', $my->usertype, 'components', 'com_dailymessage'))) {
    
mosRedirect('index2.php', _NOT_AUTH);
}
?>


На изображении показано где на странице администратора подгружаютсяфайлы admin.mycomp.php и toolbar.comname.php. Файлы, которые заканчиваются на '.html.php' не отображаются, но включатся как файлы утилит. Немного сложно объяснить про каждый из этих файлов в отдельности, но я кратко представлю их и позже объясню, как они связаны друг с другом.

* admin.mycomp.php


Содержит переключатель 'switchboard' чтобы решить, какое действие выполнять, базируясь на выбранном пункте меню или кнопках (Add, Delete, и т.д.)

* admin.mycomp.html.php (не обязателен)

Содержит классы, печатающие коды HTML (отображение форм, таблиц, и т.д.)

* toolbar.mycomp.php

Содержит переключатель 'switchboard' для принятия решений о том какие кнопки отображать, базируясь на выбранном пункте меню и задаче, выбранной в текущий момент

* toolbar.mycomp.html.php (не обязателен)


Содержит класс для отображения кнопок.


Я думаю, что лучше всего разобрать пример, так что давайте предположим, что наш компонент My Component имеет 2 подменю, Config и Manage Items. Config нужен для того, чтобы изменить глобальные установки компонента, а Manage Items для того, чтобы добавлять/удалять некоторые данные из базы данных. Мне надо определить эти подменю в инсталляционном файле XML как следующее: (структура файла XML будет объясняться позже)


<?xml version="1.0" ?>
<mosinstall>
    <administration>
        <submenu>
            <menu act="config">Config</menu>
            <menu act="manage">Manage Items</menu>
        </submenu>
    </administration>
</mosinstall>


Атрибут 'act' описывает главное действие, которое мы собираемся выполнять. Как мы увидим позже, мы можем указать более специфичную задачу на выполнение для каждого действия. Если бы нам потребовалось быстро описать дизайн нашего меню, вот что бы у нас было:


act: Config (config)
act: Manage Items (manage)


Когда я выбираю меню Config, я хочу быть представленным формой, заполненной конфигурационными значениями и иметь кнопку, чтобы сохранить данные, если я внесу изменения в конфигурацию. Мы опишем это следующим образом:


act: Config (config)

task: default
View configuration form
Buttons: Save (save)

act: Manage Items (manage)


'task: default' означает что это задание на выполнение по умолчанию когда я кликаю на меню Config. Что случится, когда я нажму на кнопку 'Save'? Форма должна быть подтверждена а данные сохранены в базе данных. Затем я хочу снова увидеть форму с обновленными значениями:


act: Config (config)

task: save
Save form data to the database
View configuration form
Buttons: Save (save)

task: default

View configuration form
Buttons: Save (save)

act: Manage Items (manage)


Это все, что нам требуется для меню Config. Давайте теперь посмотрим на элементы управления (Manage Items). По умолчанию я хочу увидеть список элементов, которые у меня в базе данных, кнопку для добавления нового элемента и другую кнопку для удаления элементов.


act: Config (config)

task: save
Save settings to the database
View configuration form
Buttons: Save (save)

task: default

View configuration form
Buttons: Save (save)

act: Manage Items (manage)

task: default
View list of items with checkboxes on the left
Buttons: Add (add), Delete (delete)

Когда я нажимаю на кнопку 'Add' (Добавить) я хочу увидеть форму для добавления нового элемента и кнопку 'Save' (Сохранить), кликая на кнопку 'Delete' (Удаление) элементы, которые я выбрал будут удалены и мне будет показан обновленный список элементов.


act: Config (config)

task: save
Save settings to the database
View configuration form
Buttons: Save (save)

task: default

View configuration form
Buttons: Save (save)

act: Manage items

task: add
View add form
Button: Save (save)

task: delete

Delete items
View list of items
Buttons: Add (add), Delete (delete)

task: default

View list of items
Buttons: Add (add), Delete (delete)

Последнее что нужно сделать – это определить, что случится если нажать на кнопку 'Save' (Сохранить) (когда добавлен новый элемент).


act: Config (config)

task: save
Save settings to the database
View configuration form
Buttons: Save (save)

task: default

View configuration form
Buttons: Save (save)

act: Manage items (manage)

task: add
View add form
Button: Save (save)

task: delete

Delete items
View list of items
Buttons: Add (add), Delete (delete)

task: save

Add new item to the database
View list of items
Buttons: Add (add), Delete (delete)

task: default

View list of items
Buttons: Add (add), Delete (delete)

Итак, мы закончили с дизайном меню и можем перевести его в PHP используя утверждение switch:


<?php
switch($act) {
  case
'config':
    switch (
$task) {
      case
'save':
        
// Сохраняет установки в базу данных
        // Просматривает установочную форму
        // Кнопки: Сохранить
        
break;
      default:
        
// Просматривает установочную форму
        // Кнопки: Сохранить
        
break;
    }
    break;

  case
'manage':
    switch (
$task) {
      case
'add':
        
// Просматривает форму добавления
        // Кнопки: Сохранить
        
break;
      case
'delete':
        
// Удаляет элементы
        // Просматривает список эдементов
        // Кнопки: Добавить, Удалить
        
break;
      case
'save':
        
// Добавить новый элемент в базу данных
        // Просматривает список элементов
        // Кнопки: Добавить, Удалить
        
break;
      default:
        
// Просматривает список элементов
        // Кнопки: Добавить, Удалить
        
break;
    }
    break;
}
?>


Куда мы должны вставить этот код? В оба этих файла: admin.mycomp.php и toolbar.mycomp.php. Разница в том, что admin.mycomp.php будет управлять доступом к данным, а toolbar.mycomp.php будет отвечать за отображение кнопок. Но структура, в общем, схожа для обеих файлов потому что нам нужно определить какая форма и кнопки должны отображаться для каждой комбинации переменных $act и $task.


<?php
// В файле admin.mycomp.php

switch($act) {
  case
'config':
    switch (
$task) {
      case
'save':
        
// Сохраняет установки в базу данных
        // Просматривает конфигурационную форму
        
break;
      default:
        
// Просматривает конфигурационную форму
        
break;
    }
    break;

  case
'manage':
    switch (
$task) {
      case
'add':
        
// Просматривает форму добавления
        
break;
      case
'delete':
        
// Удаляет элементы
        // Просматривает список элементов
        
break;
      case
'save':
        
// Добавляет новый элемент в базу данных
        // Просматривает список элементов
        
break;
      default:
        
// Просматривает список элементов
        
break;
    }
    break;
}
?>
<?php
// В файле toolbar.mycomp.php

switch($act) {
  case
'config':
    switch (
$task) {
      case
'save':
        
// Кнопки: Сохранить
        
break;
      default:
        
// Кнопки: Сохранить
        
break;
    }
    break;

  case
'manage':
    switch (
$task) {
      case
'add':
        
// Кнопки: Сохранить
        
break;
      case
'delete':
        
// Кнопки: Добавить, Удалить
        
break;
      case
'save':
        
// Кнопки: Добавить, Удалить
        
break;
      default:
        
// Кнопки: Добавить, Удалить
        
break;
    }
    break;
}
?>


Теперь у нас есть готовая структура и вот настало врем заполнить ее новым кодом который будет заниматься обработкой данных. В общем, все процессы, которые относятся к GUI (HTML) должны сохраняться в файлах типа *.html.php. Для файла admin.mycomp.php их дотаточно просто заметить. Это все акции, которые начинаются с 'View ...'. (Просмотр....) Для имени класса в файле admin.mycomp.html.php принято прописывать как HTML_mycomp. Например:


<?php
// В файле admin.mycomp.html.php

class HTML_mycomp {
    function
displayConfigForm() {
    }
}
?>


Записав функции в файл admin.mycomp.html.php, сделайте ссылку из файла admin.mycomp.php с помощью этого кода:


<?php
// В файле admin.mycomp.php
require_once($mainframe->getPath('admin_html'));
?>


'admin_html' ключевое название для загрузки файла admin.mycomp.html.php точно также, как ключ 'front_html', который мы видели раньше для загрузки файла mycomp.html.php.
Чтобы отобразить кнопки в панели инструментов необходим класс mosMenuBar. Вы можете напрямую использовать этот класс без необходимости что-либо включать. Воспользуясь частично тем, что мы имеем в файле toolbar.mycomp.html.php, я приведу пример как нужно использовать mosMenuBar, чтобы отобразить кнопки 'Add' (Добавить) и 'Delete' (Удалить). For a complete list of functions to display various buttons please refer to Appendix A.


<?php
// В файле toolbar.mycomp.php

// Включает HTML класс панели инструментов
require_once($mainframe->getPath('toolbar_html'));

// ... (snipped) ...

    
default:
        
// Buttons: Add, Delete
        
TOOLBAR_mycomp::defaultButtons()
        break;

// ... (вырезано) ...
?>
<?php
// В файле toolbar.mycomp.html.php

class TOOLBAR_mycomp {
    function
defaultButtons() {
        
// Открывает таблицу, которая содержит кнопки
        
mosMenuBar::startTable();

        
// Отображает кнопку 'add' (Добавить)
        
mosMenuBar::addNew();

        
// Отображает кнопку 'delete' (Удалить)
        
mosMenuBar::deleteList();

        
// Закрывает таблицу
        
mosMenuBar::endTable();
    }
}
?>


Кнопка панели инструментов работает как кнопка подтверждения (submit) и поэтому мы должны иметь форму на каждой странице. Эта форма должна быть названа 'adminForm', относиться к файлу index2.php, и иметь скрытые поля чтобы пропустить переменные $option, $act, и $task. Вот пример самой простейшей формы.


<?php
// Название фрмы должно быть adminForm
echo '<form action="index2.php" method="POST" name="adminForm">';

// Опция (имя папки текущего компонента) доступна
// как глобальная переменная
echo '<input type="hidden" name="option" value="'.$option.'">';

// Act также доступен в качестве глобальной переменной
echo '<input type="hidden" name="act" value="'.$act.'">';

// Значение task будет установлено Мамбо по подтверждению,
// в зависимости от того, какая кнопка нажата
echo '<input type="hidden" name="task" value="">';

echo
'</form>';
?>


Если у вас есть список элементов с чекбоксами (checkboxes) в форме, Mambo предоставляет функции Java Script? для того, чтобы выделить/снять выделение со всех элементов и проверить, что как минимум 1 элемент выделен, когда вы отправляете форму на подтверждение. Условия, необходимые для того, чтобы это работало, следующие:
• Чекбокс (checkbox), который действует как переключатель выделения/снятия выделения должен быть назван 'toggle'
• Событие onClick чекбокса 'toggle' должно называться checkAll(n) функцией. Замените 'n' количеством чекбоксов, которые у вас в списке (т.е. вы можете получить значения из mysql_num_rows(), и т.д.)
• Каждый чекбокс должен иметь свои 'id' атрибуты, установленные на 'cb', сопровождаемый числом, которое начинаеся с 0 ('cb0', 'cb1', 'cb2', и т.д.). Вы можете установить 'name' ко всему.
• Событие onClick каждого чекбокса в списке должно вызывать функцию isChecked(this.checked). Проще говоря, эта функция увеличит значение переменной 'boxchecked' на 1 если элемент выделен.
• Поэтому вы должны иметь скрытое поле, названное 'boxchecked' и установить его начальное значение на 0.


<input type="checkbox" name="toggle" value="" onClick="checkAll(n);"> 

<input type="checkbox" id="cb0" name="cid[]" value="" onClick="isChecked(this.checked);"> 
<input type="checkbox" id="cb1" name="cid[]" value="" onClick="isChecked(this.checked);"> 
<input type="checkbox" id="cb2" name="cid[]" value="" onClick="isChecked(this.checked);"> 

<input type="hidden" name="boxchecked" value="0">

Файлы классов

* mycomp.class.php (не обязателен)


Файл класса mycomp.class.php содержит другие полезные функции, которые разделены между файлами главной страницы (frontend) и файлами администратора. Например, вы можете иметь функцию, которая возвращает здесь результат запроса и другую функцию в файле mycomp.html.php чтобы использовать этот результат и отобразить данные в таблице. Вы можете поместить этот файл либо в 'installdir/components/mycomp' (Mambo будет искать там в первую очередь) или в директорию 'installdir/administrator/components/mycomp' и включить его в frontend или в администраторские файлы, с помощью этой строки:


<?php
require_once($mainframe->getPath('class'));
?>


Конечно, вы можете иметь другие файлы, кроме тех, которые объясняются здесь. Например, компонент Awesom! component имеет Smarty шаблоны включенные для более простой кастомизации дизайна. Тем не менее, вы не можете использовать $mainframe->getPath() чтобы включить файлы, так как Mambo не имеет для этого ключей.


<?php
// Пример того, как включить другой файл помощи
// $mosConfig_absolute_path это полный путь к инсталляционной папке Мамбо
require_once($mosConfig_absolute_path.'/components/mycomp/helper1.php');
?>

Инсталляционные файлы


Инсталляционные файлы используются только во время установки или деинсталляции процесса копирования/удаления файлов и изображений в или из правильных расположений, создают или удаляют таблицы баз данных, используемые вашим компонентом, отображая ваши инсталяционные или деинсталляционные сообщения. Файлы этой группы копируются в папку installdir/administrator/components/mycomp .

* mycomp.xml


Этот файл содержит детали вашего компонента (имя, версию, copyright, ваш URL и email, и т.д.), список используемых файлов и изображений, команды SQL, которые должны быть исполнены во время установки/деинсталяции, и список элементов меню, которые должны отобразиться на странице админитратора (в меню Компонентов ('Components')).


Название вашего компонента (текст между тэгами <name></name>) будет использован как имя директории после того, как он будет переведен в нижнй регистр, будут удалены все пробелы и префиксы, начинающиеся с 'com_'. Таким образом компонент 'My Component' будет сохранен в директорию 'com_mycomponent', и т.д. Поэтому постарайтесь избегать использования знаков, не принадлежащих к цифрам или буквам в имени компонента.


Ниже приведен пример файла XML для нашего компонента 'My Component'. Я объясню некоторые из тэгов, так как большинство из них понятны сами по себе.


Formatter «highlight/xml» not found


Все файлы между тэгами <files></files> и <images></images> будут скопированы в папку installdir/components/mycomp, тогда как файлы между тэгами <administration></administration> будут скопированы в директорию installdir/administrator/components/mycomp.


SQL запросы в <install></install> выполняются во время инсталяции, а запросы между тэгами <uninstall></uninstall> во время деинсталляции. Формат имен таблиц, который используется – #mycomp_tablename где #_ будет заменен Mambo на тот префикс таблицы, который вы выбираете во время установки Mambo. По умолчанию используется префикс 'mos' так что '#mycomp_data' создаст таблицу под названием 'mos_mycomp_data'.

* install.mycomp.php (не обязателен)


Этот файл содержит только одну функцию com_install(), которая буде вызываться после удачной установки вашего компонента. Примеры того, что вы можее здесь поместить – это сообщение приветствия, информацию копирайта, ссылку на ваш веб сайт и т.д.


<?php
function com_install() {
    return
'Установка прошла успешно! Проверьте мой вебсайт, чтобы получить информацию о последних обновлениях!.';
}
?>


Обратите внимание, что com_install() ожидает от вас возвращения сообщения а не отображения его прямо изнури функции, чтобы отобразить его в правильной позиции на странице подтверждения удачной установки компонента (success page). Вот разница:


Хотя отобразить сообщение изнутри функции не нанесет вреда, это все же политически неправильно :-)

* uninstall.mycomp.php (не обязателен)

Так же как в случае с файлом install.mycomp.php, этот файл тоже содержит только одну функцию, com_uninstall(). Так же как com_install(), com_uninstall() тоже ожидает от вас возвращения сообщения. Mambo должна отобразить это сообщение после деинсталляции компонента, но как ни странно, я никогда не видел сообщение, отображаемое из этого файла.


<?php
function com_uninstall() {
    return
'My Component удачно удален из Mambo';
}
?>


Ну вот – это и есть наш туториал. Следующие 2 страницы содержат списки функций панели инструментов и ключи, использованные функцией $mainframe->getPath(). Для дальнейшего чтения Joseph Le Blanc? также имеет туториал на своем сайте.

Appendix A. mosMenuBar


Здесь находится список функций для отображения кнопок панели инструментов. Эти функции принадлежат к классу mosMenubar. Общие параметры для этих функций следующие:
$task: Задача, которую необходимо выполнить
$alt: Текст, который описывает иконку (alt text)


Пример использования:


<?php
// Открывает таблицу, содержащую кнопки
mosMenuBar::startTable();

// Добавляет кнопку с заданем 'add_category' (добавить категорию)
mosMenubar::addNew('add_category');

mosMenuBar::endTable();
?>


Функции, которые заканчиваются на 'List' (т.е. publishList) служат для пречисления записей на текущей странице. Обычно это бывает список чекбоксов, среди которых вам надо выбрать хотя бы одну запись. Эти функции выполнят определенную проверку, чтобы убедиться, что хотя бы одна запись выбрана.
Картинка Функция
startTable()
Прописывает начало таблицы кнопочной панели
(custom) custom($task = , $icon = , $iconOver = , $alt = , $listSelect = true)
Прописывает определенные кнопки опций и заданий для параметров кнопочной панели: $icon: Картинка для отображения (относительный путь к папке 'image' в текущей директории) $iconOver: Картинка, которая должна отображаться, когда курсор мышки пересекает ее $listSelect: Является правильным, если необходимо проверить, что стандартный список элементов активизирован.


addNew($task = 'new', $alt = 'New')
Текст: Новый


publish($task = 'publish', $alt = 'Publish')
Текст: Опубликовать


publishList($task = 'publish', $alt = 'Publish')
Текст: Опубликовать


makeDefault($task = 'default', $alt = 'Default')
Текст: По умолчанию


assign($task = 'assign', $alt = 'Assign')
Текст: Присвоить


unpublish($task = 'unpublish', $alt = 'Unpublish')
Текст: Не публиковать


unpublishList($task = 'unpublish', $alt = 'Unpublish')
Текст: Не публиковать


archiveList($task = 'archive', $alt = 'Archive')
Текст: Добавить в архив


unarchiveList($task = 'unarchive', $alt = 'Unarchive')
Текст: Убрать из архива


editList($task = 'edit', $alt = 'Edit')
Текст: Редактировать


editHtml($task = 'edit_source', $alt = 'Edit HTML')
Текст: Редактировать HTML


editCss($task = 'edit_css', $alt = 'Edit CSS')
Текст: Редактировать CSS


deleteList($msg = , $task = 'remove', $alt = 'Delete')
Параметр:
$msg: Постскриптум для сообщения 'are you sure' (вы уверены?)
Текст: Удалить


trash($task = 'remove', $alt = 'Trash')
Прописывает кнопку мусорной корзины, что переместит элементы в «мусорный отдел»
Текст: Мусор


preview($popup = , $updateEditors = false)
Прописывает кнопку предварительного просмотра для выбранной опции (открывает отдельное окно)
параметры:
$popup: Имя popup-файла (исключая расширение файла). Эта переменная будет использована Java Script's? window.open() таким образом:
window.open('popups/t=', 'win1', 'status= no,toolbar=no, scrollbars=yes, titlebar=no, menubar=no, resizable=yes, width=640, height=480, directories=no, location=no'); Текст: Предварительный просмотр


help($ref)
прописывет кнопку, которая открывает страницу помощи из $mosConfig_live_site/help/$ref.xml Параметры:
$ref: название файла страницы помощи (без расширения)
Текст: Помощь


save($task = 'save', $alt = 'Save')
Текст: (используется значение $alt)


cancel($task = 'cancel', $alt = 'Cancel')
Прописывает кнопку отмены и выполняет отмену
Текст: (смотрите значение $alt)


back() Прописывает кнопку отмены, которая вернет назад предыдущую страницу, не выполняя какую-либо другую операцию.
Текст: Назад


media_manager($directory = )
Параметры:
$directory: Под-директория, куда закачиваются медиа-файлы
Текст: Upload


divider()
Прописывает разделитель между кнопками меню
spacer($width = )
Прописывает пустую ячейку
endTable()
Прописывает конец таблицы инструментов

Appendix B.


Ключи используемые getPath()
Вот список дополнительных ключей для функции $mainframe->getPath().


Ключ Расположение
front installdir/templates/curr_template/components/mycomp.php
installdir/components/mycomp/mycomp.php
front_html installdir/templates/curr_template/components/mycomp.html.php
installdir/components/mycomp/mycomp.html.php
admin installdir/administrator/components/mycomp/admin.mycomp.php
installdir/administrator/components/com_admin/admin.mycomp.php
admin_html installdir/administrator/components/mycomp/admin.mycomp.html.php
installdir/administrator/components/com_admin/admin.mycomp.html.php
toolbar installdir/administrator/components/mycomp/toolbar.mycomp.php
toolbar_html installdir/administrator/components/mycomp/toolbar.mycomp.html.php
toolbar_default installdir/administrator/includes/toolbar.html.php
class installdir/components/mycomp/mycomp.class.php
installdir/administrator/components/mycomp/mycomp.class.php
installdir/includes/mycomp.class.php



 
Joomla в России | Joomla Форум | электронная музыка |
Агенства по трудоустройству работа в николаеве работа вакансии. | продажа луковиц | магазин корпусов для компьютера