0

私は joomla 3.0 で作業しています。単純なアプリケーションの問題に直面しています。ビューが 1 つあるので、models フォルダーの下に 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" />

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>

このフィールドに現在の日付を適用するにはどうすればよいですか??

4

3 に答える 3

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.1date() ) を使用することもできます。

于 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 に答える
1

モデル (JModelForm を拡張する必要があります) では、メソッド loadFormData() を次のようにオーバーライドする必要があります (adapt where needed):

    // 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 に答える