magento----时间处理函数----beforesave----不错的函数

本文介绍了一个Magento系统中用于在保存数据库记录前自动生成创建时间和更新时间的事件函数。该函数利用Magento的核心类和日期格式化功能确保了时间戳的一致性和准确性。

很多存入数据库的数据是程序自己生成的,不需要用户填写的,譬如时间,具体的实现是通过事件实现的,譬如下面的是一个事件函数,在保存前执行的函数_beforeSave();

改函数的作用,自己生成时间参数---creation_time,UpdateTime,进而存入对象属性值。

使用的magento类:mage_core_model_locale

lib-varien-object函数:varien_date。

/**
* Process page data before saving
*
* @param Mage_Core_Model_Abstract $object
*/
protected function _beforeSave(Mage_Core_Model_Abstract $object)
{

if (! $object->getId() && $object->getCreationTime() == "") {

//1
$object->setCreationTime(Mage::getSingleton('core/date')->gmtDate());
}
//2
$format = Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT);


if ($date = $object->getData('creation_time')) {

//3
$object->setData('creation_time', Mage::app()->getLocale()->date($date, $format, null, false)
->toString(Varien_Date::DATETIME_INTERNAL_FORMAT)
);
}


$object->setUpdateTime(Mage::getSingleton('core/date')->gmtDate());

return $this;
}

//1

使用locale.php里面的gmtDate();

//2

Mage:app()得到mage_core_model_app,---->getlocale()得到mage_core_model_locale

执行这个class下的getDateFormat(),

//3

执行mage_core_model_locale下的date函数,参数为//1 和//2的值,

这是locale内部的一些列的函数的使用,locale是一系列的本地功能的集合。辅助性!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值