Moodle日期选择器(仅限年份)

时间:2018-05-22 14:16:14

标签: php forms moodle moodle-api

我是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 :(得分:0)

您需要日期选择器吗?也许可以使用年份下拉选择并存储年份而不是日期。

$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);