我是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);
答案 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);