355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Яна Седова » Разрботка расширений для CMS Joomla » Текст книги (страница 3)
Разрботка расширений для CMS Joomla
  • Текст добавлен: 4 октября 2016, 21:48

Текст книги "Разрботка расширений для CMS Joomla"


Автор книги: Яна Седова



сообщить о нарушении

Текущая страница: 3 (всего у книги 10 страниц)

Проверив, что код вызван из Joomla, мы используем выражение require_once(JApplicationHelper::getPath('admin_html')) для подключения файла admin.myquestions.html.php.

Затем с помощью JTable::addIncludePath() папка tables добавляется к списку директорий, в которых следует искать классы таблиц.

Переключатель switch() вызывает функцию, соответствующую значению переменной $task.

В функции replyToQuestion() создается экземпляр класса TableQuestion для управления записью таблицы. С помощью JRequest::getVar() из переменных запроса извлекается массив cid, хранящий идентификаторы записей. Так как эксперт будет отвечать только на один вопрос за раз, то мы выбираем первый идентификатор и загружаем соответствующую запись. Затем она передается в функцию вывода HTML_questions::replyToQuestion().

Теперь создайте файл /administrator/components/com_myquestions/admin.myquestions.html.php:

:
: date,JText::_('DATE_FORMAT_LC3'));?>
: display('question', $row->question, '100%', '250', '40', '10');?>
:
:
: IP;?>
:
: published == '1') echo JText::_('JYES'); else echo JText::_('JNO');?>
: expiration_date, 'expiration_date', 'expiration_date', '%Y-%m-%d');?>
: senttoexpert == '1') echo JText::_('JYES'); else echo JText::_('JNO');?>
: display('answer', $row->answer,'100%', '250', '40', '10');?>
: senttoauthor == '1') echo JText::_('JYES'); else echo JText::_('JNO');?>
Листинг .

Функция HTML_questions::replyToQuestion() выводит на экран уже заполненную форму, значения элементов которой берутся из объекта $row. Форме присвоено название adminForm, чтобы к ней можно было обращаться из JavaScript.

Классы JHTML и JEditor будут рассмотрены позже. Сейчас поясним только те выражения, в которых используются методы этих классов:

echo JHTML::_('date', $row->date,JText::_('DATE_FORMAT_LC3')); выводит дату $row->date в формате DATE_FORMAT_LC3 (один из стандартных форматов, заданных в Joomla).

$editor =& JFactory::getEditor(); echo $editor->display('question', $row->question, '100%', '250', '40', '10'); отображает выбранный администратором HTML-редактор. Если не выбран ни один редактор, то будет отображено поле