Module that allows you to create timed quizzes with pagination. If you get a passing score you can download a diploma.
Demo ¶
https://yiidemos.oligalma.com/quiz
Features ¶
- Questions and answers appear randomly.
- Up to 6 answers (may be extended if needed).
- Questions and answers are stored in a SQLite database.
- Diploma is generated using FPDF.
- Questions belong to categories. You can create as many categories as you want.
Requirements ¶
1.1.14
Usage ¶
Copy and paste the module in protected/modules
Add the module in the modules array of protected/config/main.php:
'modules'=>array(
'quiz'=>array()
),
You can add these rules in the Url Manager:
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'quiz'=> 'quiz/site/index',
'quiz/<category:\d+>'=> 'quiz/site/start',
)
)
Then you can access the quiz through this URL: www.yoursite.com/quiz
If you want you can adjust parameters in modules/quiz/controllers/SiteController.php:
const SECONDS_PER_QUESTION = 10; // false to disable the countdown.
const PAGE_SIZE = 5; // false for all questions in one page.
const MINIMUM_SCORE = 90; // false to disable diploma.
const QUESTIONS_NUMBER = false; // false for all questions.
Donations ¶
Donations are welcome. Thanks for your support!!!
Paging
In Yii1, the default coding on protected/views/layouts/main.php has:
<div class="container" id="page">
While in this extension it use:
function submitForm(obj) { var href = $(obj).find('a').attr('href'); var pos = href.indexOf('page'); var page = 1; if(pos > 0) page = href.substring(pos + 5); $('#page').val(page); // This part $('#quiz-form').submit(); }
I think the duplicate page ID cause problem in paging. The submit form cannot fill
<?= CHtml::hiddenField('page', '1'); ?>
I suggest to change the ID to something else.
Re: Paging
Thanks for the tip, meowth! The problem has been fixed.
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.