ari quiz lite инструкцияARI Quiz Lite – компонент организации викторины и тестировния на сайте. Предлагаю вниманию бесплатную версию Lite, но и эта версия имеет достаточно функциональности для успешной организации тестирования.
Установка компонента происходит стандартно. В панели администратора Joomla загрузите архив через меню "Менеджер расширений" (Расширений -> Установить / Удалить). После установки не нужно ничего активировать и т.д.
Процесс стартовой настройки подробно показано на видео. Сложности обычно возникают с русификацией. Немного не понятна логика как задается количество вопросов в опросе и как удалить результаты тестирования (они просто не всегда нужны). Решения вопросов показано в видео.

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

Основные возможности:

  • три типа построения вопросов для тестов
  • три типа построения вопросов для тестов
  • управление доступом пользователей к тестам
  • статистика результатов тестирования

 

Русификация:

После установки компонента com_ariquizlite.zip Скачиваем архив ari_quiz_lite_translit
Открываем папку с языковыми файлами сайта по пути: ..administrator/language/ru-RU
Из архива берем файлы ru-RU.com_ariquizlite.ini и ru-RU.com_ariquizlite.sys.ini, и добавляем их в эту папку.
В панели управления компонента ARI Quiz Lite выбираем вкладку "Языки админпанели"--> Импорт и выбираем файл "ru_backend.xml" из пакета для русификации , в поле "Name" Пишем название языка (какое вы хотите) и нажимаем кнопку "Import". После установки языкового файла xml указываем его по умолчанию и сохраняем. Те же действия делаем и для Языкового файла пользовательской части сайта, используя файл "ru_frontend.xml" на вкладке "Языки пользовательской части сайта". Кроме того, Вы можете в любой момент создать свой языковой файл XML или отредактировать уже существующий, просто меняя значения в настройках языка.

Еще один актуальный вопрос – как убрать ссылку на сайт разработчика которая появляется внизу тестов "Developed by ARI Soft". Даже бесплатная версия компонента не предполагает, что можно убирать этот копирайт, но это на ваше усмотрение.
Находим файлы по пути ../components/com_ariquizlite/view

question.html.php
quiz.html.php
quiz_finished.html.php
quiz_info.html.php
quiz_list.html.php
quiz_stat.html.php

В каждом из этих файлов находим блок кода, отвечающий за вывод Developed by ARI Soft


<br/>
<div style="text-align: center;">
Developed by <a href="http://www.ari-soft.com" target="_blank" title="ARI Soft">ARI Soft</a>.
</div>
<br/>

Можно удалить в каждом из 6 файлов весь блок кода, либо только строку


Developed by <a href="http://www.ari-soft.com" target="_blank" title="ARI Soft">ARI Soft</a>.

После удаления данного кода сохраняем файлы и все, логотип разработчика исчезнет со страниц тестирования.

Большое упущение компонента это отсутствие возможности удалить результат прохождения какого-либо теста. Возможно это реализовано в коммерческой версии, но я описания не встречал. Как добавить кнопку "УДАЛИТЬ" на страничке списков результатов тестирования
Открываем файл results.php по пути: ../administrator/components/com_ariquizlite/pages
В нем со строки 74 видим функцию


function _registerEventHandlers()
{
$this->_registerEventHandler('tohtml', 'clickToHtml');
$this->_registerEventHandler('toword', 'clickToWord');
$this->_registerEventHandler('toexcel', 'clickToExcel');
$this->_registerEventHandler('tocsv', 'clickToCSV');
}

Дописываем в нее строку:


$this->_registerEventHandler('delete', 'clickDelete');

Должно получится вот так:

function _registerEventHandlers()
{
$this->_registerEventHandler('tohtml', 'clickToHtml');
$this->_registerEventHandler('toword', 'clickToWord');
$this->_registerEventHandler('toexcel', 'clickToExcel');
$this->_registerEventHandler('tocsv', 'clickToCSV');
$this->_registerEventHandler('delete', 'clickDelete');
}

Далее сразу после этой функции прописываем код (Функцию):

function clickDelete($eventArgs)
{
$statisticsId = JRequest::getVar('statisticsInfoId', array());
$this->_resultController->call('deleteResult', $statisticsId);
if (!$this->_isError())
{
AriQuizWebHelper::preCompleteAction('Complete.ResultDelete', array('task' => 'results'));
}
}

В итоге все вместе должно получиться вот в таком виде:


function _registerEventHandlers()
{
$this->_registerEventHandler('tohtml', 'clickToHtml');
$this->_registerEventHandler('toword', 'clickToWord');
$this->_registerEventHandler('toexcel', 'clickToExcel');
$this->_registerEventHandler('tocsv', 'clickToCSV');
$this->_registerEventHandler('delete', 'clickDelete');
}
function clickDelete($eventArgs)
{
$statisticsId = JRequest::getVar('statisticsInfoId', array());
$this->_resultController->call('deleteResult', $statisticsId);
if (!$this->_isError())
{
AriQuizWebHelper::preCompleteAction('Complete.ResultDelete', array('task' => 'results'));
}
}

Открываем файл toolbar.ariquizlite.html.php, находящийся по пути: ../administrator/components/com_ariquizlite

И со строки 31 видим функцию function resultsMenu():


function resultsMenu()
{
global $option;
AriQuizMenu::_addResourceTitle('Title.QuizResultList');
JToolbarHelper::apply('results', AriQuizWebHelper::getResValue('Toolbar.Filters'));
JToolbarHelper::spacer();
JToolbarHelper::divider();
JToolbarHelper::spacer();
JToolbarHelper::custom('results$tocsv', 'archive.png', 'archive.png', AriQuizWebHelper::getResValue('Toolbar.ExportToCSV'), true);
JToolbarHelper::spacer();
JToolbarHelper::divider();
JToolbarHelper::spacer();
JToolbarHelper::back(AriQuizWebHelper::getResValue('Toolbar.QuizList'), sprintf('index.php?option=%s&task=%s',
$option,
'quiz_list'));
JToolbarHelper::spacer();
}

Дописываем в нее перед закрывающей скобкой } следующий код:


JToolbarHelper::divider();
JToolbarHelper::deleteList(
AriQuizWebHelper::getResValue('Warning.QTemplateRemove'),
'results$delete',
AriQuizWebHelper::getResValue('Button.Remove'));
JToolbarHelper::spacer();

В итоге должно получиться вот так:


function resultsMenu()
{
global $option;
AriQuizMenu::_addResourceTitle('Title.QuizResultList');
JToolbarHelper::apply('results', AriQuizWebHelper::getResValue('Toolbar.Filters'));
JToolbarHelper::spacer();
JToolbarHelper::divider();
JToolbarHelper::spacer();
JToolbarHelper::custom('results$tocsv', 'archive.png', 'archive.png', AriQuizWebHelper::getResValue('Toolbar.ExportToCSV'), true);
JToolbarHelper::spacer();
JToolbarHelper::divider();
JToolbarHelper::spacer();
JToolbarHelper::back(AriQuizWebHelper::getResValue('Toolbar.QuizList'), sprintf('index.php?option=%s&task=%s',
$option,
'quiz_list'));
JToolbarHelper::spacer();
JToolbarHelper::divider();
JToolbarHelper::deleteList(
AriQuizWebHelper::getResValue('Warning.QTemplateRemove'),
'results$delete',
AriQuizWebHelper::getResValue('Button.Remove'));
JToolbarHelper::spacer();
}

Открываем файл class.ResultController.php по пути: ../administrator/components/com_ariquizlite/kernel/Controllers и дописываем в этот файл новую функцию:


function deleteResult($resultList)
{
$query = 'DELETE FROM #__ariquizstatisticsinfo WHERE StatisticsInfoId IN ('.implode(",", $resultList).')';
$this->_db->setQuery($query);
$this->_db->query();
$query = 'DELETE FROM #__ariquizstatistics WHERE StatisticsInfoId IN ('.implode(",", $resultList).')';
$this->_db->setQuery($query);
$this->_db->query();
if ($this->_isError(true, false))
{
trigger_error('ARI: Couldnt delete result.', E_USER_ERROR);
return false;
}
return true;
}

После всех этих изменений на страничке с результатами тестирования появится кнопка "УДАЛИТЬ".

ari quiz lite кнопка Удалить в тестировании

 

Скачать: com_ariquizlite.zip

                  ari_quiz_lite_translit.zip

 

 

 

__________________________________________________________________________________________________________________

скачать joomla | обновление joomla | модуль joomla | администрирование | seo продвижение | joomla магазиншаблоны сайтов

обратная связь 

При копировании материала ссылка на сайт joomla4.ru обязательна.