在结帐购物车 mornitor 中,我为购物车中的每个产品添加了一个日期选择器,以允许客户选择开始使用日期(从现在起 1 个月内)。单击下订单时,我想将此日期选择器保存到一个页面。它将保存到订单。我已经在 eav_attribute 中创建了属性。在 config.xml 我使用这个代码:
<events>
<controller_action_predispatch_checkout_cart_index >
<observers>
<licensetime_observer>
<class>licensetime/observer</class>
<method>saveLicensetime</method>
</licensetime_observer>
</observers>
</controller_action_predispatch_checkout_cart_index>
</events>
观察者我试图 var_dump 但 start_date 为空
public function saveLicensetime($observer)
{
$event = $observer->getEvent();
$product = $event->getProduct();
$quote = Mage::getSingleton('checkout/type_onepage')->getQuote();
$licenseStartDate = $quote->getLicense_start_date();
if (!$licenseStartDate) {
$licenseStartDate = date ("Y-m-d H:i:s", floor(time()/86400)*86400);
}
//var_dump($quote); die("aaaaaaaaaaa");
}
在 cart/item/defaul.phtml 日期选择器代码中:
<label for="license_start_date"><?php echo $this->__('Start Date') ?> :</label>
<input name="cart[<?php echo $_item->getId() ?>][license_start_date]" readonly="true" id="license_start_date<?php echo $_item->getProductId(); ?>" value="<?php echo $this->getLicenseStartTime($_item->getId()) ?>" class="date-picker" />
<label for="license_end_date"><?php echo $this->__('End Date') ?> :</label>
<input readonly="true" name="cart[<?php echo $_item->getId() ?>][license_end_date]" id="license_end_date<?php echo $_item->getProductId(); ?>" value="<?php echo $this->getLicenseEndTime($_item->getId()) ?>"></input>
我正在尝试这篇文章,但没有运气!
对不起,我的E不好!