douiwn6941 2018-05-22 14:16
浏览 70
已采纳

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

I am new to Moodle and need some assistance creating (year only) date selector. In the code below I have a few entry fields.

If possible, I would like to customize the bottom 2 date selector fields to display only years for the user selection. My attempted workaround was to use the 'PARAM_INT'as a data type, which does not seem to be work. It also would not stop users from entering years such as 0000 or 1000. Thanks for your help in advance!

$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条回答 默认 最新

  • douganbi7686 2018-05-22 16:41
    关注

    Do you need a date selector? Maybe use a drop down select for the years instead and store the year rather than a date.

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

    Incidentally, you should store strings in the language file.

    If its a local plugin, this the language file would be /local/yourplugin/lang/en/local_yourplugin.php

    Then have something like this in the language file:

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

    Then change your form code to:

    $mform->addElement('select', 'earliest_article_year',
        get_string('earliestyear', 'local_yourplugin'), $options);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配