【发布时间】:2015-02-21 04:57:25
【问题描述】:
我有一个关于 CakePHP 的非常有趣的问题。我有一个客户目前在 eBay 上销售产品,并且也想开始在他们自己的网站上销售产品。那么,就会有两种不同的销售渠道:(1) eBay,和 (2) 网站。
但是,他们确实希望为客户提供无缝的网站体验。基本上,他们希望他们当前的 eBay 网站成为他们当前网站中的类别,并且他们当前的 eBay 拍卖物品可以在他们的网站上搜索。
一个简单的 CakePHP 网站会有两个表:products 和 categories,简单的表关系是“products belongsTo categories”和“categories hasMany products”。然后我将如何添加 eBay 类别和产品?基本上,我希望http://site/products/index 在产品表和 eBay 上返回所有产品的列表。我希望 http://site/categories/index 返回类别表中所有已定义类别的列表以及 eBay 上列出的类别项目。
eBay 有一个非常好的实时请求查询 API,所以我一直在考虑一个选项来执行此操作,但我想知道是否有更好的方法...我认为这个选项不会与 PaginatorComponent 配合得很好...
方法: (1)在beforeFind中,捕获请求参数并保存到一个持久化变量中 (2) 在afterFind中,根据请求参数向eBay API发起请求,然后手动将结果添加到$results数组中。
同样,我认为这适用于基本的查找操作,但我不确定这是否适用于分页,因为我不确定如何处理,例如,20 项页面限制(即我该如何处理当数据库中只有 18 个项目在第 1 页时,第 2 页,现在在第 2 页我需要从 19 而不是数据库中的 21 开始?)
这里有没有我忽略的 CakePHP 语法,还是我只是开始为所有这些可能性编写代码?
我在 CakePHP 2.6.0 平台上编码。
非常感谢您的帮助!
【问题讨论】:
-
为什么不在您的数据库中从 e-bay 导入数据?我有一个应用程序可以处理六个数据源(beatport、soundcloud、twitter、facebook、GA、youtube)。后台应用程序定期检查远程源是否有任何更改并更新本地数据库。如果用户通过cms添加数据,应用更新远程源。
-
最大的问题是:eBay产品信息变化非常快(尤其是价格,在拍卖结束时会每秒变化一次)。
标签: cakephp cakephp-2.0 cakephp-2.1 cakephp-2.3