Archive for 06月, 2010

Magento中我的账户访问权限判断

Magento前台用户访问的权限验证有点搞,呵呵,在ZF中我们一般的写法是用ACL,但是Magento的写法有点搞,是直接写在控制器Mage_Customer_AccountController中的,详细请见preDispatch方法。
阅读全文

关于Magento的时间/时区问题

今天同事研究为啥保存的时间不是东八区时间,由此引来的话题。

Magento整个系统中使用UTC时间,即通用协调时(UTC, Universal Time Coordinated)。这样保证在不同的视图或者Store里使用的时间与本地时间一致,在系统配置中可以看到,每个视图或者店铺可以单独设置时区。

Magento在数据库中存贮的都是UTC时间,在渲染视图的时候会显示当前时间。 阅读全文

深入理解Magento-第十章-数据操作&数据收集器

在我们开始介绍数据操作前,我们先介绍一个神兵利器—Varien Data Collections。在最早的时候我们写php通常用Array来做数据收集器,这个小东西可发挥了大作用,要知道如果你想在其他语言中实现Array有多么难过。
例如c、c++。

在php5中,更是发扬了Array,php内置了一些类和接口,允许你创建你自己的数据结构。Magento充分利用了这一点,在使用Varien_Data_Collection来做数据收集的时候,它实现了php内置IteratorAggregate对象迭代器和Countable两个接口。下面是用php内置类ArrayObject的一个例子。

$array = new ArrayObject();
class MyCollection extends ArrayObject{}
$collection = new MyCollection();
$collection[] = 'bar';

在接下来的文章中,我认为你已经了解ArrayObject、IteratorAggregate、Countable。如果还是很陌生,我建议你先阅读这篇文章PHP5对象迭代(Object Iteration)。当然你不必了解很底层的东西,你只需要知道如何用就可以了。

适合对象:高级开发者

作者:精东

最后修改时间:2010年5月31日

版本:V 0.1.0

阅读全文