0

我正在使用 joomla 3.0。我只是面临简单应用程序的问题。我有一个视图。所以我在模型文件夹下设计了一个 xml 文件。在 view.php 中检索。应该有一个日历字段。我需要将当前日期分配给该字段。我如何通过 php 执行此操作?表单.xml:

<field name="expired" type="calendar" label="Date"
description="Date" format="%Y-%m-%d %H:%M:%S"
required="true" class="readonly" />

视图.html:

$form = $this->get('Form');
$this->form = $form;

默认.php:

<div class="control-group">
<div class="control-label"><?php echo ''Current Date; ?></div>
<div class="controls"><?php echo $this->form->getInput('created'); ?></div>
</div>

我怎样才能应用这个领域的当前日期?

4

3 回答 3

1

在您的模型(应该扩展 JModelForm)中,您需要覆盖方法 loadFormData(),类似于(在需要时进行调整):

    // Method to get the data that should be injected in the form.
protected function loadFormData() 
{
    // Check the session for previously entered form data.
    $data = JFactory::getApplication()->getUserState('com_YOURCOMPONENT.edit.YOURVIEW.data', array());
    if (empty($data)) 
    {
        $data = $this->getItem();
    }
    return $data;
}
于 2013-03-22T08:44:48.213 回答
1

您可以$this->form->setValue('created', '', date('Y-m-d H:i:s');在 view.html.php 文件中使用。文档在这里:http ://docs.joomla.org/JForm::setValue/11.1

要获取当前日期,您还可以使用JHtml::Date( http://docs.joomla.org/JHtml::date/11.1 ) 而不是date().

于 2013-03-22T09:00:00.937 回答
1

尝试将您的 xml 中的字段更改为以下内容:

<field name="expired" 
    type="calendar" 
    label="Date"
    description="Date" 
    format="%Y-%m-%d %H:%M:%S"
    required="true"
    filter="user_utc"
    default="now" 
    class="readonly" />

添加默认的“现在”将加载当前日期。附加过滤器会将日期设置为用户时间。

于 2013-03-22T09:07:39.643 回答