Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
32cae2ffc3 | ||
|
|
03a9ea64ed | ||
|
|
53d39ada2c |
@@ -19,11 +19,11 @@ Szkielet komponentu Joomla 6 do gromadzenia pytań testowych.
|
||||
- opcjonalne zdjęcie wybierane z Media Managera,
|
||||
- publikowanie, filtrowanie i usuwanie pytań w panelu administratora,
|
||||
- tworzenie zestawów pytań w panelu administratora i przypisywanie do nich pytań,
|
||||
- czas trwania w sekundach (suwak), treść i obraz zestawu testowego,
|
||||
- czas trwania w minutach (suwak), treść i obraz zestawu testowego,
|
||||
- tabela `#__testquestions_questions` tworzona podczas instalacji.
|
||||
|
||||
## Instalacja
|
||||
|
||||
W Joomla wybierz **System → Install → Install from Folder** i wskaż ten katalog. Manifestem instalacyjnym jest `com_testquestions.xml` (wersja 1.13.0).
|
||||
W Joomla wybierz **System → Install → Install from Folder** i wskaż ten katalog. Manifestem instalacyjnym jest `com_testquestions.xml` (wersja 1.13.3).
|
||||
|
||||
Po instalacji komponent jest dostępny w panelu administratora jako **Pytania testowe**.
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<field name="subject_id" type="sql" label="COM_TESTQUESTIONS_SUBJECT" required="true" query="SELECT id, title FROM #__testquestions_subjects WHERE published = 1 ORDER BY title ASC" key_field="id" value_field="title" translate_query="false">
|
||||
<option value="0">COM_TESTQUESTIONS_SELECT_SUBJECT</option>
|
||||
</field>
|
||||
<field name="duration" type="range" label="COM_TESTQUESTIONS_SET_DURATION" description="COM_TESTQUESTIONS_SET_DURATION_DESC" min="0" max="3600" step="30" default="0" filter="integer" />
|
||||
<field name="duration" type="range" label="COM_TESTQUESTIONS_SET_DURATION" description="COM_TESTQUESTIONS_SET_DURATION_DESC" min="0" max="120" step="1" default="0" filter="integer" />
|
||||
<field name="test_content" type="editor" label="COM_TESTQUESTIONS_SET_TEST_CONTENT" buttons="true" filter="safehtml" height="150" />
|
||||
<field name="image" type="media" label="COM_TESTQUESTIONS_SET_IMAGE" directory="images/testquestions" preview="tooltip" />
|
||||
<field name="description" type="textarea" label="COM_TESTQUESTIONS_SET_DESCRIPTION" rows="4" filter="raw" />
|
||||
|
||||
@@ -58,8 +58,8 @@ COM_TESTQUESTIONS_SET_ALL_CATEGORIES="Wszystkie kategorie"
|
||||
COM_TESTQUESTIONS_UNCATEGORIZED="Bez kategorii"
|
||||
COM_TESTQUESTIONS_SET_SHOW_DETAILS="Pokaż odpowiedzi"
|
||||
COM_TESTQUESTIONS_SUBJECTS="Przedmioty"
|
||||
COM_TESTQUESTIONS_SET_DURATION="Czas trwania testu (sekundy)"
|
||||
COM_TESTQUESTIONS_SET_DURATION_DESC="Ustaw czas trwania testu w sekundach za pomocą suwaka."
|
||||
COM_TESTQUESTIONS_SET_DURATION="Czas trwania testu (minuty)"
|
||||
COM_TESTQUESTIONS_SET_DURATION_DESC="Ustaw czas trwania testu w minutach za pomocą suwaka."
|
||||
COM_TESTQUESTIONS_SET_TEST_CONTENT="Treść testu"
|
||||
COM_TESTQUESTIONS_SET_IMAGE="Obraz testu"
|
||||
COM_TESTQUESTIONS_SUBJECT="Przedmiot"
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
UPDATE `#__testquestions_sets`
|
||||
SET `duration` = ROUND(`duration` / 60)
|
||||
WHERE `duration` > 0;
|
||||
@@ -0,0 +1 @@
|
||||
-- No database changes required for version 1.13.2.
|
||||
@@ -0,0 +1 @@
|
||||
-- No database changes required for version 1.13.3.
|
||||
@@ -48,7 +48,9 @@ HTMLHelper::_('behavior.multiselect');
|
||||
<th scope="col" class="w-1"><?php echo HTMLHelper::_('grid.checkall'); ?></th>
|
||||
<th scope="col"><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_COLUMN_QUESTION'); ?></th>
|
||||
<th scope="col" class="w-10"><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_COLUMN_TYPE'); ?></th>
|
||||
<th scope="col" class="w-10"><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_COLUMN_CORRECT'); ?></th>
|
||||
<?php if ((int) $this->state->get('filter.show_answers') !== 1) : ?>
|
||||
<th scope="col" class="w-10"><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_COLUMN_CORRECT'); ?></th>
|
||||
<?php endif; ?>
|
||||
<th scope="col" class="w-10"><?php echo \Joomla\CMS\Language\Text::_('JSTATUS'); ?></th>
|
||||
<th scope="col" class="w-10"><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_COLUMN_ID'); ?></th>
|
||||
</tr>
|
||||
@@ -67,16 +69,18 @@ HTMLHelper::_('behavior.multiselect');
|
||||
<?php if ($item->question_type === 'open') : ?>
|
||||
<div><strong><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_FIELD_OPEN_PATTERN'); ?>:</strong> <?php echo $item->answer_open; ?></div>
|
||||
<?php else : ?>
|
||||
<div><strong>A:</strong> <?php echo $item->answer_a; ?></div>
|
||||
<div><strong>B:</strong> <?php echo $item->answer_b; ?></div>
|
||||
<div><strong>C:</strong> <?php echo $item->answer_c; ?></div>
|
||||
<div><strong>D:</strong> <?php echo $item->answer_d; ?></div>
|
||||
<div class="d-flex gap-2 align-items-start"><strong class="flex-shrink-0">A:</strong><span><?php echo $item->answer_a; ?></span><?php if ((int) $item->correct_answer === 1) : ?><span class="text-success flex-shrink-0">✓</span><?php endif; ?></div>
|
||||
<div class="d-flex gap-2 align-items-start"><strong class="flex-shrink-0">B:</strong><span><?php echo $item->answer_b; ?></span><?php if ((int) $item->correct_answer === 2) : ?><span class="text-success flex-shrink-0">✓</span><?php endif; ?></div>
|
||||
<div class="d-flex gap-2 align-items-start"><strong class="flex-shrink-0">C:</strong><span><?php echo $item->answer_c; ?></span><?php if ((int) $item->correct_answer === 3) : ?><span class="text-success flex-shrink-0">✓</span><?php endif; ?></div>
|
||||
<div class="d-flex gap-2 align-items-start"><strong class="flex-shrink-0">D:</strong><span><?php echo $item->answer_d; ?></span><?php if ((int) $item->correct_answer === 4) : ?><span class="text-success flex-shrink-0">✓</span><?php endif; ?></div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</th>
|
||||
<td><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_TYPE_' . strtoupper($item->question_type)); ?></td>
|
||||
<td><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_ANSWER_' . chr(64 + (int) $item->correct_answer)); ?></td>
|
||||
<?php if ((int) $this->state->get('filter.show_answers') !== 1) : ?>
|
||||
<td><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_ANSWER_' . chr(64 + (int) $item->correct_answer)); ?></td>
|
||||
<?php endif; ?>
|
||||
<td><?php echo HTMLHelper::_('jgrid.published', $item->published, $i, 'questions.', true, 'cb'); ?></td>
|
||||
<td><?php echo (int) $item->id; ?></td>
|
||||
</tr>
|
||||
|
||||
@@ -112,7 +112,7 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
}
|
||||
|
||||
const updateDuration = function () {
|
||||
output.textContent = duration.value + ' s';
|
||||
output.textContent = duration.value + ' min';
|
||||
};
|
||||
|
||||
duration.addEventListener('input', updateDuration);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<creationDate>2026-10-14</creationDate>
|
||||
<author>Komponent</author>
|
||||
<license>GNU General Public License version 2 or later</license>
|
||||
<version>1.13.0</version>
|
||||
<version>1.13.3</version>
|
||||
<description>COM_TESTQUESTIONS_DESCRIPTION</description>
|
||||
<element>com_testquestions</element>
|
||||
<namespace path="src">Komponent\Component\Testquestions</namespace>
|
||||
|
||||
Reference in New Issue
Block a user