我正在使用joomla 3.0。我只是面对简单应用程序的问题。我有一个视图。所以我在模型文件夹下设计了一个xml文件。在view.php中修改了。应该是一个calandar field.I需要为该字段分配当前日期。我怎么能通过php做到这一点? form.xml:
<field name="expired" type="calendar" label="Date"
description="Date" format="%Y-%m-%d %H:%M:%S"
required="true" class="readonly" />
view.html:
$form = $this->get('Form');
$this->form = $form;
如default.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>
如何应用此字段的当前日期?
答案 0 :(得分: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;
}
答案 1 :(得分:1)
您可以在view.html.php文件中使用$this->form->setValue('created', '', date('Y-m-d H:i:s');
。 Doc在这里:http://docs.joomla.org/JForm::setValue/11.1
要获取当前日期,您还可以使用JHtml::Date
(http://docs.joomla.org/JHtml::date/11.1)代替date()
。
答案 2 :(得分: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" />
添加默认“now”将加载当前日期。额外的过滤器会将日期设置为用户时间。