Разработчик ARI Soft ari quiz lite 
Версия расширения 1.2.7
Совместимость  compat 15compat 17compat 25compat 30
Дата создания май 2015
Язык Английский, Русский(после установки файла русификации)
Демо ARI Quiz Lite


Описание: Русифицированный конструктор форм тестов для проверки уровня знаний посетителей сайта. Версия бесплатная, но вполне функциональная.

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

    * управление доступом пользователей к тестам
    * статистика результатов тестирования
    * групповое тестирование по категориям
    * три типа построения вопросов для тестов
    * использование шаблонов при создании тестов.

РУСИФИКАЦИЯ:

1. После установки компонента com_ariquizlite.zip Скачиваем архив "ari_quiz_lite_translit"
Открываем папку с языковыми файлами сайта по пути: www/home/administrator/language/ru-RU
Из архива берем файлы ru-RU.com_ariquizlite.ini  и  ru-RU.com_ariquizlite.sys.ini  , и добавляем их в эту папку.
РЕЗУЛЬТАТ
БЫЛО:
1
СТАЛО:
ari quiz lite after

2. В панели управления компонента ARI Quiz Lite выбираем вкладку "Языки админпанели"-> Импорт и выбираем файл "ru_backend.xml" из пакета для русификации , в поле "Name" Пишем название языка (какое вы хотите) и нажимаем кнопку "Import". После установки языкового файла xml указываем его по умолчанию и сохраняем.
ari quiz lite buckend
ari quiz lite buckend lang default
Те же действия делаем и для Языкового файла пользовательской части сайта, используя файл "ru_frontend.xml" на вкладке "Языки пользовательской части сайта".


РЕЗУЛЬТАТ
БЫЛО:
ari quiz lite buckend lang default before
СТАЛО:
ari quiz lite buckend lang default after

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

КАК УБРАТЬ ССЫЛКУ "Developed by ARI Soft":

ВНИМАНИЕ!!! Как убрать ссылку "Developed by ARI Soft"

ari quiz lite developed by ari soft

  1. Находим файлы по пути ../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
  2. В каждом из этих файлов находим блок кода, отвечающий за вывод "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/>
    
  3. Можно удалить в каждом из 6 файлов весь блок кода, либо только строку
    Developed by <a href="http://www.ari-soft.com" target="_blank" title="ARI Soft">ARI Soft</a>.
    
  4. После удаления данного кода сохраняем файлы и все, логотип разработчика исчезнет со страниц тестирования.

Как добавить кнопку "УДАЛИТЬ" на страничке списков результатов тестирования:

Открываем файл 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;
    }

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

Скачать пакет для русификации "ari_quiz_lite_translit.zip"

Скачать ARI Quiz Lite for Joomla! 1.5, 1.6, 1.7, 2.5 and 3.x.

Добавить комментарий


Комментарии   

Azat
0 #1 Azat 15.03.2017 05:48
Ari quiz litr это супер. Спасибо!
Подскажите пожалуйста можно ли показать проходящему тест в конце тестирования на каком вопросе он ответил правильно и на каком ошибся.Так же показать все правильные ответы.Конечно в админ панели можно посмотреть данные прохождения теста,но я бы в конце хотел уведомить проходящего тест о его результатах.
Цитировать | Сообщить модератору