如何在Magento中添加日期选择器到列?

时间:2012-09-18 08:42:45

标签: magento

我有以下代码,它在我的Grid.php中创建了吸气日期列。现在它从DB字段中获取数据是空的,因为我希望在列中有日期选择器,这将在DB中保存选择的日期,然后将其显示回管理员。我知道可以使用$fieldset执行此操作,但我需要使用addColumn

$this->addColumn('expiration_date', array(
            'header' => Mage::helper('AdvancedStock')->__('Expiration Date'),
            'index' => $this['expiration_date'],
            'type' => 'datetime',
    ));

请帮忙。

2 个答案:

答案 0 :(得分:0)

我不确定你从哪里得到这个: $ this ['expiration_date']

但这应该有效,请尝试手动设置文件管理器并进行排序。

array(
    'index'     => 'fieldname',
    'filter'    => true,
    'sortable'  => true,
    'type'      => 'datetime',
)

通过修改_prepareCollection()方法,您还需要确保已将字段名包含在集合查询中(如果它是您添加的非标准字段)。

根据您使用的收藏模型,这会略有不同

$collection->addFieldToSelect('fieldname');

答案 1 :(得分:0)

而不是type => 'datetime'尝试type ='date'。希望能帮助到你。 你必须添加

  <reference name="head">
        <action method="addItem">
            <type>js_css</type>
            <name>calendar/calendar-win2k-1.css</name>
            <params/><!--<if/><condition>can_load_calendar_js</condition>-->
        </action>
        <action method="addItem">
            <type>js</type>
            <name>calendar/calendar.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>-->
        </action>
        <action method="addItem">
            <type>js</type>
            <name>calendar/calendar-setup.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>-->
        </action>
    </reference>

在design / adminhtml / ... / layout中,在xml文件中对应修改后的模块。