Выбор даты Moodle (только год) - PullRequest
0 голосов
/ 22 мая 2018

Я новичок в Moodle и мне нужна помощь в создании (только год) выбора даты.В приведенном ниже коде у меня есть несколько полей ввода.

Если возможно, я бы хотел настроить нижние 2 поля выбора даты , чтобы отображались только годы для выбора пользователя.Моя попытка обходного пути состояла в том, чтобы использовать PARAM_INT как тип данных, который, кажется, не работает.Это также не помешает пользователям вводить годы, такие как 0000 или 1000. Спасибо за вашу помощь заранее!

$mform->addElement('text', 'article_type', 'Article Type');
$mform->setType('article_type', PARAM_TEXT);

$mform->addElement('date_selector', 'print_article_date', 'Print Article Date');
$mform->setType('article_date', PARAM_INT);

$mform->addElement('date_selector', 'earliest_article_year', 'Earliest Article Year');
$mform->setType('earliest_publication_year', PARAM_INT);

1 Ответ

0 голосов
/ 22 мая 2018

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

$options = array_combine(range(1900,2018), range(1900,2018));
$mform->addElement('select', 'earliest_article_year', 'Earliest Article Year', $options);
$mform->setType('earliest_publication_year', PARAM_INT);

Кстати, вам следует хранить строки в языковом файле.

Если это локальный плагинэтот языковой файл будет /local/yourplugin/lang/en/local_yourplugin.php

Затем в языковом файле есть что-то вроде этого:

$string['earliestyear'] = 'Earliest Article Year';

Затем измените код формы на:

$mform->addElement('select', 'earliest_article_year',
    get_string('earliestyear', 'local_yourplugin'), $options);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...