Главная /
Разработка расширений для CMS Joomla
Разработка расширений для CMS Joomla - ответы на тесты Интуит
Курс посвящен разработке расширений под систему управления контентом Joomla. Хотя под эту систему управления контентом разработано множество расширений, в ряде случаев программист может столкнуться с необходимостью написать собственный компонент или модуль. Несмотря на популярность Joomla в том числе в России, на русском языке в настоящее время отсутствуют подробные руководства для разработчиков расширений, поэтому курс для программистов под Joomla представляется актуальным.
Список вопросов:
- # Какой уровень не входит в фреймворк Joomla?
- # Какие уровни входят в фреймворк Joomla?
- # Из скольких уровней состоит фреймворк Joomla?
- # Уровень фреймворка…
- # Какое утверждение верно?
- # Какое утверждение неверно?
- # Какие из перечисленных объектов входят в уровень приложения?
- # Какой из перечисленных объектов входит в уровень приложения?
- # Какой из перечисленных объектов не входит в уровень приложения?
- # Отметьте типы расширений Joomla
- # Что из перечисленного не является типом расширения Joomla?
- # Что из перечисленного является типом расширения Joomla
- # В чем принципиальная особенность компонентов Joomla?
- # Что является основным типом расширений Joomla?
- # Отметьте неверное утверждение
- # Что хранится в файле *.sys.ini?
- # В каком файле хранятся переводы сообщений, выводящихся после установки расширения?
- # В каком файле хранятся переводы пунктов меню, создающихся для компонента в панели управления?
- # В каком файле хранятся переводы параметров компонента?
- # В каком файле хранятся переводы надписей, выводящихся в менеджере расширений?
- # Каким образом можно получить доступ к глобальным объектам фреймворка?
- # Отметьте неверное утверждение
- # Отметьте верное утверждение
- # Отметьте неверное утверждение
- # Для чего может быть использован метод JRequest::getVar()?
- # Какие методы класса JRequest позволяют получить данные из глобальных массивов $_GET и $_POST?
- # Что можно выполнить методами класса JApplication?
- # Что нельзя выполнить методами класса JApplication?
- # Что нельзя выполнить методами класса JApplication?
- # Каким образом можно создать собственную кнопку панели инструментов?
- # Для чего используется метод JToolbarHelper::custom()?
- # Отметьте неверное утверждение
- # Что такое реальный префикс?
- # Что такое реальный префикс?
- # Отметьте неверное утверждение
- # Какой метод используется для задания SQL-запроса?
- # Для чего используется метод JDatabase::setQuery()?
- # Отметьте неверное утверждение
- # Какие методы позволяют получить одну строку таблицы?
- # Какой метод не позволяет получить одну строку таблицы?
- # Для чего используется метод loadObject()?
- # Отметьте неверное утверждение
- # Отметьте верное утверждение
- # Отметьте неверное утверждение
- # Почему может возникнуть ошибка связывания записи таблицы и экземпляра производного от JTable класса?
- # Отметьте верное утверждение
- # Отметьте неверное утверждение
- # Какой запрос генерирует метод store()?
- # Какой метод класса JTable используется для создания новых записей?
- # Какой метод класса JTable используется для редактирования записей?
- # Каким образом метод класса JTable определяет тип запроса, который ему необходимо сконструировать?
- # Для управления какими полями таблиц существуют готовые методы класса JTable?
- # Для управления каким из перечисленных полей таблиц не существует готовых методов класса JTable?
- # Отметьте неверное утверждение
- # Какие методы класса JTable используются для управления полем ordering?
- # Какие методы класса JTable не используются для управления полем ordering?
- # Для управления каким полем таблицы используется метод JTable::move()?
- # Какой метод не используются для управления полями checked_out и checked_out_time?
- # Какой метод используется для работы с полем checked_out?
- # Какие методы используются для блокировки/разблокировки записей таблицы?
- # С помощью какого метода вызываются все остальные методы класса JHTML?
- # Метод JHTML::_() позволяет…
- # Отметьте верное утверждение
- # Какие элементы можно вывести с помощью методов класса JHTML?
- # Какие элементы можно вывести с помощью методов класса JHTML?
- # Какие элементы можно вывести с помощью методов класса JHTML?
- # Как должен выглядеть параметр $type метода JHTML::_() для вызова метода JHTMLSelect::genericlist()?
- # Как должен выглядеть параметр $type метода JHTML::_() для вызова метода JHTMLEmail::cloak()?
- # Как должен выглядеть параметр $type метода JHTML::_() для вызова метода JHTMLGrid::published()?
- # Как должен выглядеть параметр $type метода JHTML::_() для вызова метода JHTMLSelect::integerlist()?
- # Какие элементы позволяют вывести методы класса JHTMLGrid?
- # Какой элемент не позволяют вывести методы класса JHTMLGrid?
- # Для чего могут использоваться элементы, генерирующиеся методами класса JHTMLGrid?
- # Списки каких значений могут генерировать методы класса JHTMLList?
- # Списки каких значений не могут генерировать методы класса JHTMLList?
- # Каким образом можно сгенерировать код выпадающего списка для выбора пользователя?
- # Каким образом можно сгенерировать код выпадающего списка для выбора изображения из папки /images?
- # Каким образом можно сгенерировать код выпадающего списка для выбора изображения из папки /images с расширением .png или .gif?
- # Каким образом можно сгенерировать код выпадающего списка для выбора изображения из папки /images с расширением .bmp или .jpg?
- # Каким образом можно сгенерировать код выпадающего списка для выбора целого числа в диапазоне от 1 до 10?
- # Каким образом можно сгенерировать код выпадающего списка для выбора целого числа в диапазоне от 10 до 20?
- # Каким будет содержимое списка, который сгенерирует вызов метода HTML::_('select.integerlist', 1, 10, 3, 'listint')?
- # Укажите корректный вызов метода для генерации кода группы переключателей для выбора категории ($content - массив объектов, полученный по запросу "SELECT id,title FROM #__categories")?
- # Укажите корректный вызов метода для генерации кода группы переключателей для выбора категории ($content - массив объектов, полученный по запросу "SELECT id,title FROM #__categories")?
- # Укажите корректный вызов метода для генерации кода группы переключателей для выбора модуля ($modules - массив объектов, полученный по запросу "SELECT id,title FROM #__modules")?
- # Какие из перечисленных значений хранятся в таблице #__menu для каждого пункта меню в целях организации иерархической структуры?
- # Какие из перечисленных значений хранятся в таблице #__menu для каждого пункта меню в целях организации иерархической структуры?
- # Какие из перечисленных значений хранятся в таблице #__menu для каждого пункта меню в целях организации иерархической структуры?
- # Пусть левый ключ корневого элемента меню имеет значение 0, правый - 11. Чему будет равен левый ключ этого элемента после добавления нового подпункта, не имеющего потомков?
- # Пусть левый ключ корневого элемента меню имеет значение 0, правый - 11. Чему будет равен правый ключ этого элемента после добавления нового подпункта, не имеющего потомков?
- # Пусть левый ключ корневого элемента меню имеет значение 0, правый - 11. Чему будет равен правый ключ этого элемента после добавления двух новых подпунктов, не имеющих потомков?
- # Пусть левый ключ корневого элемента меню имеет значение 0, правый - 11. Чему будет равен правый ключ этого элемента после добавления двух новых подпунктов, один из которых является потомком другого?
- # Какие из перечисленных методов содержит класс JMailHelper?
- # Какие из перечисленных методов не содержит класс JMailHelper?
- # Какие из перечисленных методов не содержит класс JMailHelper?
- # Если в панели управления не выбран ни один WYSIWYG-редактор, что выведет на экран строка echo $editor->display('question', $row->question, '100%', '250', '40', '10');?
- # Если в панели управления не выбран ни один WYSIWYG-редактор, сколько столбцов будет в поле <textarea>, которое выведет на экран строка echo $editor->display('question', $row->question, '60%', '200', '30', '5');?
- # Если в панели управления не выбран ни один WYSIWYG-редактор, сколько строк будет в поле <textarea>, которое выведет на экран строка echo $editor->display('question', $row->question, '60%', '200', '30', '5');?
- # Если адрес сайта на Joomla - , то что выведет на экран строка echo JURI::base(false);?
- # Если адрес сайта на Joomla - , то что выведет на экран строка echo JURI::base(true);?
- # Если адрес сайта на Joomla - , то как получить только путь /joomla?
- # Какой из перечисленных методов останавливает выполнение расширения?
- # Какие из перечисленных методов не останавливают выполнение расширения?
- # Какие из перечисленных методов существуют?
- # Что выведет на экран код: $some_date = JFactory::getDate('2012-01-01 00:00:00','Europe/Moscow'); echo $some_date->format("d F Y");?
- # Что выведет на экран код: $some_date = JFactory::getDate('2012-01-01 00:00:00'); echo $some_date->format("d F Y");?
- # Что выведет на экран код: $some_date = JFactory::getDate('2013-01-01 00:00:00','Europe/Moscow'); echo $some_date->format("d.m.Y H:i");?
- # Отметьте неверное утверждение
- # Отметьте верное утверждение
- # Отметьте неверное утверждение о методах raiseError(), raiseNotice() и raiseWarning() класса JError
- # Какое значение будет передано в функцию генерации SEF-ссылок для ссылки index.php?option=com_mycomponent&var1=value1&var2=value2&…&varN=valueN?
- # Какое значение функция генерации SEF-ссылок получила на вход, если она вернула массив Array([0]=>value1 [1]=>value2 … [N-1]=>valueN)?
- # Какая SEF-ссылка будет сгенерирована из массива Array([0]=>value1 [1]=>value2 … [N-1]=>valueN)?
- # Какие функции должны находиться в файле /components/com_mycomponent/router.php?
- # В каком файле должна находиться функция генерации SEF-ссылок для анализа ссылки index.php?option=com_mycomponent&var1=value1&var2=value2?
- # Какие функции должны находиться в файле /components/com_<имя компонента>/router.php?
- # Какой шаблон SEF-ссылки неявно задается следующим кодом: if (isset($query['controller'])) { $segments[] = $query['controller']; unset($query['controller']); } if (isset($query['task'])) { $segments[] = $query['task']; unset($query['task']); } if (isset($query['view'])) { $segments[] = $query[view']; unset($query['view']); } if (isset($query['id'])) { $segments[] = $query['id']; unset($query['id']); }?
- # Предположим, в SEF-ссылках компонента testcomponent переменные записываются в следующем порядке: controller, task, view, id. Какой массив должна вернуть функция TestComponentBuildRoute() для ссылки index.php?option=com_testcomponent&controller=c&task=t&view=v&id=i?
- # Предположим, в SEF-ссылках компонента testcomponent переменные записываются в следующем порядке: controller, task, view, id. Какой массив должна вернуть функция TestComponentParseRoute() для ссылки component/testcomponent/c/t/v/i?
- # Как добавить в документ $document ссылку на скрипт /components/com_mycomponent/js/menu.js?
- # Как добавить в документ $document код alert('Hello World')?
- # Какие методы добавляют в секцию документа <head> тег <script>?
- # Какой метод добавляет в секцию документа <head> тег <link>?
- # Какой метод добавляет в секцию документа <head> тег <style>?
- # Какие методы добавляют в секцию документа <head> таблицу стилей?
- # Предположим, в SEF-ссылках компонента testcomponent переменные записываются в следующем порядке: view, task, id. Функция TestComponentBuildRoute() выглядит так: function TestComponentBuildRoute($query) { $segments = array(); if (isset($query['view'])) { $segments[] = $query['view']; unset($query['view']); } if (isset($query['task'])) { $segments[] = $query['task']; unset($query['task']); } if (isset($query['id'])) { $segments[] = $query['id']; unset($query['id']); } return $segments; } Какая SEF-ссылка будет сгенерирована из ссылки index.php?option=com_testcomponent&view=v&task=t&id=11?
- # Сгенерирована SEF-ссылка /component/testcomponent/v/t/11?view=v&task=t&id=11. Что привело к этой ошибке?
- # Сгенерирована SEF-ссылка /component/testcomponent/v/t/11?view=v&task=t&id=11. Как выглядит прототип функции генерации SEF-ссылок?
- # Предположим, в SEF-ссылках компонента testcomponent переменные записываются в следующем порядке: view, task, id. Функция TestComponentBuildRoute() формирует массив так: if (isset($query['view'])) { $segments[] = $query['view']; unset($query['view']); } if (isset($query['task'])) { $segments[] = $query['task']; unset($query['task']); } Какая SEF-ссылка будет сгенерирована из ссылки index.php?option=com_testcomponent&view=v&task=t&id=11?
- # Предположим, в SEF-ссылках компонента testcomponent переменные записываются в следующем порядке: view, task, id. Была сгенерирована SEF-ссылка /component/testcomponent/v/t?id=11. Как выглядела функция TestComponentBuildRoute()?
- # Предположим, в SEF-ссылках компонента testcomponent переменные записываются в следующем порядке: view, task, id. Была сгенерирована SEF-ссылка /component/testcomponent/v/t?id=11. Что привело к этой ошибке?
- # Отметьте неверное утверждение.
- # Отметьте неверное утверждение.
- # Отметьте поля класса JUser, которые принимают значение true или false (0 или 1).
- # Если компонент называется testcomponent, то в каком файле описан класс представления all?
- # Если компонент называется testcomponent, то в каком файле описан класс представления item?
- # Какой класс должен быть описан в файле /components/com_testcomponent/views/all/view.html.php
- # Нужно ли задавать собственный SQL-запрос в методах класса, производного от JModel, для получения каких-либо данных?
- # Какие методы класса JModel принимают в качестве аргумента SQL-запрос?
- # Какие методы класса JModel принимают в качестве аргументов порядковый номер записи, с которой нужно начать выборку, и количество записей?
- # Предположим, что в модели, заданной для текущего представления по умолчанию, есть метод getItem(). Как получить в классе представления возвращаемое им значение?
- # Предположим, что в модели, заданной для текущего представления по умолчанию, есть метод getSubject(). Как получить в классе представления возвращаемое им значение?
- # Какое значение может принять переменная $temp после выполнения кода $temp = &$this->get('subject'); в классе представления?
- # К чему приведет выполнение кода $view->loadTemplate('somevalue');?
- # К чему приведет выполнение кода echo $view->loadTemplate('somevalue');?
- # К чему приведет выполнение кода $view->display('somevalue');?
- # Что вернет код $controller->execute('addValue');?
- # Что вернет код $controller->execute();?
- # Какой метод вызовет метод контроллера execute($task);?
- # Предположим, компонент должен выполнять задачи display, add, edit и remove. Как это отразится на коде компонента?
- # Предположим, компонент выполняет единственную задачу display. Что можно сказать про код компонента?
- # Предположим, функции компонента заключаются в выводе одной страницы и поэтому для него не задается явно ни одной задачи. Что можно сказать про код этого компонента?
- # Что увидит пользователь в результате выполнения в одном из методов класса контроллера следующего кода: $this->setRedirect('index.php?option=com_testcomponent', 'Текст сообщения'); $this->redirect();
- # Что увидит пользователь в результате выполнения в одном из методов класса контроллера следующего кода: $this->setRedirect('index.php?option=com_testcomponent', 'Текст сообщения');
- # Что увидит пользователь в результате выполнения в одном из методов класса контроллера следующего кода: $this->redirect();
- # До перехода на архитектуру MVC файл testcomponent.php содержал в числе прочего следующий код: switch($task) { case 'edit': editItem($option); break; default: break; } Каким образом зарегистрировать задачу edit в конструкторе класса контроллера?
- # До перехода на архитектуру MVC файл testcomponent.php содержал в числе прочего следующий код: switch($task) { case 'edit': editItem($option); break; default: break; } Как должен выглядеть метод editItem() класса контроллера, если в него не добавлялись новые поля?
- # До перехода на архитектуру MVC файл testcomponent.php содержал в числе прочего следующий код: switch($task) { case 'edit': editItem($option); break; default: break; } Что произойдет при переходе на MVC?
- # Как создать объект JPagination для вывода 3-й страницы списка из 150 элементов по 10 элементов на странице?
- # Чему равен аргумент $total конструктора JPagination при создании объекта этого класса для вывода 2-й страницы списка из 15 элементов по 3 элемента на странице?
- # Чему равен аргумент $limit конструктора JPagination при создании объекта этого класса для вывода 2-й страницы списка из 200 элементов по 10 элементов на странице?
- # Чему равен аргумент $limitstart конструктора JPagination при создании объекта этого класса для вывода 3-й страницы списка из 200 элементов по 10 элементов на странице?
- # Какие элементы добавит к форме метод getListFooter()?
- # Значения каких элементов из добавленных к форме с помощью метода getListFooter() будут использованы в SQL-запросе для отображения заданной страницы?
- # Как будут использованы выбранные пользователем значения количества строк на странице и номера страницы?
- # Укажите результат, HTML-код которого был сгенерирован методом getPagesCounter().
- # Укажите результат, HTML-код которого был сгенерирован методом getResultsCounter().
- # Укажите результат, HTML-код которого был сгенерирован методом getPagesLinks().
- # Укажите результат, HTML-код которого был сгенерирован методом getListFooter().
- # Какая навигационная цепочка не может быть сгенерирована с помощью Joomla?
- # Какая навигационная цепочка будет отображена в результате выполнения кода: $pathway->addItem('Категория #1','testcomponent/category/1'); $pathway->addItem('Элемент #1','testcomponent/item/1');
- # Какая навигационная цепочка будет отображена в результате выполнения кода: $pathway->addItem('Элемент #1','testcomponent/item/1');
- # Какое значение примет переменная $arr в результате выполнения кода: $pathway->addItem('Категория #1','testcomponent/category/1'); $pathway->addItem('Элемент #1','testcomponent/item/1'); $arr = $pathway->getPathway();
- # Какое значение примет переменная $arr в результате выполнения кода: $pathway->addItem('Тестовый компонент','testcomponent'); $pathway->addItem('Элемент #1','testcomponent/1'); $arr = $pathway->getPathway();
- # Какой массив не может вернуть метод getPathway()?
- # Какое значение примет переменная $arr в результате выполнения кода: $pathway->addItem('Категория #1','testcomponent/category/1'); $pathway->addItem('Элемент #1','testcomponent/item/1'); $arr = $pathway->getPathwayNames();
- # Какое значение примет переменная $arr в результате выполнения кода: $pathway->addItem('Тестовый компонент','testcomponent'); $pathway->addItem('Элемент #1','testcomponent/1'); $arr = $pathway->getPathwayNames();
- # Какое значение не может вернуть метод getPathwayNames()?
- # Какая навигационная цепочка будет отображена в результате выполнения кода: $pathway->addItem('Категория #1','mycomponent/category/1'); $pathway->addItem('Элемент #1','mycomponent/item/1'); $pathway->setItemName(0,'Категория #2');
- # Какая навигационная цепочка будет отображена в результате выполнения кода: $pathway->addItem('Категория #1','mycomponent/category/1'); $pathway->addItem('Элемент #1','mycomponent/item/1'); $pathway->setItemName(1,'Категория #2');
- # Какая навигационная цепочка будет отображена в результате выполнения кода: $pathway->addItem('Элемент #1','mycomponent/item/1'); $pathway->setItemName(1,'Элемент #2');
- # Какая навигационная цепочка будет отображена в результате выполнения кода: $pathway->addItem('Категория #1','mycomponent/category/1'); $pathway->addItem('Элемент #1','mycomponent/item/1'); $item2->name = "Элемент #2"; $item2->link = "Ссылка #2"; $item3->name = "Элемент #3"; $item3->link = "Ссылка #3"; $items = array($item2, $item3); $pathway->setPathWay($items);
- # Какая навигационная цепочка будет отображена в результате выполнения кода: $item2->name = "Элемент #2"; $item2->link = "Ссылка #2"; $item3->name = "Элемент #3"; $item3->link = "Ссылка #3"; $items = array($item2, $item3); $pathway->setPathWay($items); $pathway->addItem('Категория #1','mycomponent/category/1'); $pathway->addItem('Элемент #1','mycomponent/item/1');
- # Какая навигационная цепочка будет отображена в результате выполнения кода: $item2->name = "Элемент #2"; $item2->link = "Ссылка #2"; $item3->name = "Элемент #3"; $item3->link = "Ссылка #3"; $items = array($item2, $item3); $pathway->addItem('Категория #1','mycomponent/category/1'); $pathway->addItem('Элемент #1','mycomponent/item/1'); $pathway->setPathWay($items);
- # Отметьте неверное утверждение.
- # Отметьте неверное утверждение.
- # Отметьте верное утверждение.
- # Какие теги обязательно должны присутствовать в файле-манифесте?
- # Какие теги обязательно должны присутствовать в файле-манифесте?
- # Какие теги обязательно должны присутствовать в файле-манифесте?
- # Отметьте тег, неправильно задающий параметры расширения.
- # Отметьте тег, неправильно задающий параметры расширения.
- # Отметьте тег, неправильно задающий параметры расширения.
- # Какой файл описан с помощью этих тегов: <install> <sql> <file driver="mysql" charset="utf8">sql/install.sql</file> </sql> </install>
- # Какой файл описан с помощью этих тегов: <install folder="admin"> <sql> <file driver="mysql" charset="utf8">sql/install.sql</file> </sql> </install>
- # Какой файл описан с помощью этих тегов: <uninstall> <sql> <file driver="mysql" charset="utf8">sql/uninstall.sql</file> </sql> </uninstall>
- # Какие элементы может включать элемент <administration>?
- # Какие элементы не может включать элемент <administration>?
- # Какие элементы может включать элемент <administration>?
- # Что описывает следующий фрагмент файла-манифеста? <menu img="class:component">COM_TESTCOMPONENT_MENU</menu> <submenu> <menu img="class:component" link="option=com_testcomponent">COM_TESTCOMPONENT_MENU_ITEMS</menu> <menu img="class:component" link="option=com_testcomponent&task=showcat">COM_TESTCOMPONENT_MENU_CATEGORIES</menu> </submenu>
- # Какие пункты меню описывает следующий фрагмент файла-манифеста? <menu img="class:component">COM_TESTCOMPONENT_MENU</menu> <submenu> <menu img="class:component" link="option=com_testcomponent">COM_TESTCOMPONENT_MENU_ITEMS</menu> <menu img="class:component" link="option=com_testcomponent&task=showcat">COM_TESTCOMPONENT_MENU_CATEGORIES</menu> </submenu>
- # Какие пункты меню описывает следующий фрагмент файла-манифеста? <menu img="class:component">COM_TESTCOMPONENT_MENU</menu> <submenu> <menu img="class:component" link="option=com_testcomponent">COM_TESTCOMPONENT_MENU_ITEMS</menu> <menu img="class:component" link="option=com_testcomponent&task=showcat">COM_TESTCOMPONENT_MENU_CATEGORIES</menu> </submenu>
- # Как описать пункт меню со ссылкой index.php?option=com_testcomponent&task=edit ?
- # Как описать пункт меню со ссылкой index.php?option=com_testcomponent ?
- # Как описать пункт меню со ссылкой index.php?option=com_testcomponent&task=showcat&view=category&controller=category ?
- # Где должны быть описаны настройки компонента testcomponent?
- # Где должны быть описаны настройки модуля testmodule?
- # Где должны быть описаны настройки расширений?
- # Какое поле формы для указания настроек расширения задано неверно?
- # Какое поле формы для указания настроек расширения задано неверно?
- # Какое поле формы для указания настроек расширения задано неверно?