php - 在 Magento 中动态计算属性

标签 php magento geolocation

我正在尝试找出是否有一种方法可以将基于位置的过滤集成到 Magento 目录和搜索页面中。

为了将以上内容放在上下文中,我的用例如下:产品具有纬度和经度属性,因为它们位于全国各地。我希望客户能够做的是根据与其所在位置相关的位置来过滤产品。

我已经成功地实现了自定义搜索页面来实现位置搜索,但是它缺少 Magento 中的所有其他过滤器/搜索功能。理想的情况是位置是一个动态计算的变量,但我不确定如何去做,或者它在 Magento 中是否可行。

提前感谢您的任何建议!

最佳答案

对于初学者,你可以尝试这样的事情:

  1. 创建一个产品属性distance_from_customer,默认值为0,可在分层导航中过滤
  2. 为事件 catalog_product_collection_load_after 创建一个观察者,这将在每次加载时根据客户的位置更改distance_from_customer 属性加载的集合产品系列(例如在类别 View 中)
  3. 如果只有一个默认值 (0),则扩展分层导航以禁用基于 distance_from_customer 的排序/过滤

在此解决方案中,distance_from_customer 在数据库中将始终为 0,只会在前端显示之前在产品集合对象中更改,如果应用程序无法获取,则隐藏排序/过滤选项客户位置数据。

关于php - 在 Magento 中动态计算属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31704407/

相关文章:

php - 在Codeigniter中的同一个mysql表中上传图像和文本

php/javascript/ajax 提交表单 > 将数据保存到数据库 > 更新网站上的数据

ios - 如何在用户行走时跟踪 GPS 坐标,来自 ios 平台的 xamarin.forms

geolocation - 经度和纬度的有效值是多少

javascript - 移动设备 webapp 的 "Find Nearest"进程?

php - Cron 作业在 cpanel 中无法正常工作

php - 在 codeigniter 中,有可能有超过 1 个输入/浏览文件用于以单一形式上传不同的图像,以将所有文件保存在数据库的 1 个表中?

php - 异常 'PDOException',消息为“SQLSTATE[HY000] : General error: 1293 Incorrect table definition when setup Magento 2. 0 (0.1.0-alpha107)”

css - 网站 magento 主题安装没有按计划进行

php - 我应该使用 EAV 模型吗?