2013-01-15 69 views
1

我经常到达构建新的Magento站点的地步,301站点需要为旧站点上的所有项目创建301个重写站点。有没有直接导入它们的方法?导入url重写为magento

编程通过一个urlCreate()类型的Magento函数会很好,然后我可以通过一个csv循环。

回答

2

一般来说,坚持使用Magento的ORM与实体数据进行交互是一个不错的主意,因为可能存在业务逻辑和存储逻辑被烘焙到实体ORM堆栈中(这对于EAV实体而言是众所周知的)。但是,根据要输入的记录数量,直接到db的方法应该没问题,尤其是如果它是一次性导入。这是因为URL重写是存储在core_url_rewrite table (link)中的平面实体,并且该表本身具有必要的存储逻辑作为其结构的一部分(主要是唯一的request_path + store_id和用于core_store表的FK)。换句话说,在ORM层之外操作这些数据是可以的,因为逻辑是表定义本身的一部分。

除此之外的信息,有可能加载了一个core/url_rewrite集合,从CSV创建core/url_rewrite实例,并将它们添加,然后在收集调用save(),但要注意,每个项目单独保存。它可能会参考目录实体和客户的转换适配器,这就是数据流的工作方式。