【问题标题】:joomla get input setting the date format in calendar tagjoomla获取输入设置日历标签中的日期格式
【发布时间】:2013-12-15 19:00:39
【问题描述】:

我的 joomla 组件中有一个日历输入框。日历元素的 XML 是:

        <field name="dob" type="calendar"

        label="COM_OPTICAL_DATABASE_FORM_LBL_PATIENTDETAIL_DOB"
        description="COM_OPTICAL_DATABASE_FORM_DESC_PATIENTDETAIL_DOB" 
        format="%d-%m-%Y"    


        filter="raw" /> 

日期格式正确。但是表单中的输入框显示为

Y-m-d

我想将其重新格式化为正确的日期

我发现这个包含当前日期:

                <div class="tablecol1 zebra1">
                     <?php echo $this->form->getLabel('dob'); ?>:&nbsp;&nbsp;
                </div>
                <div class="tablecol2 ">
                    <?php echo $this->form->getInput('dob', '', date('d-m-Y')); ?>

但我希望它输入我从数据库中检索到的日期。

【问题讨论】:

    标签: date joomla calendar formatting components


    【解决方案1】:

    尝试以下方法:

    <?php 
       echo $this->form->getInput('dob', '', JFactory::getDate('dob')->format('d-m-Y')); 
    ?>
    

    或者:

    <?php 
       echo $this->form->getInput(JFactory::getDate('dob')->format('d-m-Y'), ''); 
    ?>
    

    请注意,我还没有测试过,如果它有效,请告诉我

    【讨论】:

    • 这会抛出 500 错误 DateTime::__construct() [datetime.--construct]: Failed to parse time string
    【解决方案2】:

    我做了一个解决方法,因为似乎没有人知道答案。我认为 Joomla 要么不允许这样做,要么在文档中的某处隐藏了某种方法。无论如何,对于其他努力完成这项工作的人:

     <?php
     $birthDate1 = $this->form->getValue('dob');
     $birthDateHolder = explode("-", $birthDate1);
     $changed = $birthDateHolder[2]."-".$birthDateHolder[1]."-".$birthDateHolder[0];
     echo $this->form->getInput('dob', '', $changed); 
     ?>
    

    我已经对此进行了测试,它可以正常工作。

    【讨论】:

      猜你喜欢
      • 2011-10-22
      • 2018-07-17
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 1970-01-01
      相关资源
      最近更新 更多