`
shuishui8310
  • 浏览: 155209 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

magento -- 按某个属性排序上的一个尝试

 
阅读更多

Magento的属性可以用来放在产品列表页给产品进行排序,要用来排序的属性只需要在后台属性管理的地方选择应用于排序,默认情况下是name和price这两个属性可以在前台用来排序(Position是例外)。

那么现在有个简单的尝试,就是新增一个属性,只允许填写数字,然后前台的产品可以按照数字的大小来对产品进行排序。看起来很合理的需求,尝试起来却遇到了麻烦。

首先要决定这个属性的输入类型,magento允许的输入类型如下图所示,看上去既能手动输入又能限制输数字的就只能是文本框了。


 

所以先尝试了用文本框输入类型,然后限制只能输入整数,如下图

 


 

新增这个属性后,选择将这个属性应用于列表页的排序,然后给几个产品的这个属性分别赋不同的值(数字),现在前台就可以尝试用这个属性来排序了。

 


 

问题来了,当我按序号降序排列时,序号为96的产品确实排在序号为97的产品的后面,但却同时发现原本应该排在最前面的序号为198的产品却排在了后面,甚至序号为20的产品都在它的前面,这是怎么回事?

检查数据库后发现,凡是文本框类型的属性,在数据库中保存的都是varchar类型的数据,限制输入整数也只是在填写该属性时多了一层整数的验证,也就是说前台用这个属性进行排序时,实际上是一些字符串进行对比之后在排序,字符串排序会优先检查首字母,这也就是为什么降序时序号为20的产品会排在序号为198的产品的前面。

那么Magento就没有办法用某个属性的数值大小来对产品进行排序了吗?也不尽然,检查数据库的时候会发现价格属性在数据库里是按数字类型保存的(这个好像是理所当然的),前台自带的按价格排序也验证了价格类型的属性排序是确实是按数字的大小来排的,而不是比较字符串。

所以现在尝试新增一个属性,输入类型选择价格型,应用于前台排序,用来管理商品时填写某种需要用到的数字(虽然是价格型属性,但不是拿来填价格的)。同预料的一样,这样前台按这个新属性排序是就是完全按数字的大小来排了。

不知道以这种方式来实现需求是不是最合理的方式,对Magento来说,至少我自己先这么用着了。

  • 大小: 20.4 KB
  • 大小: 27.3 KB
  • 大小: 17 KB
分享到:
评论

相关推荐

    Magento-中文开发教程

    深入理解Magento-第一章 – Magento强大的配置系统 深入理解Magento-第二章 – Magento请求分发与控制器 深入理解Magento-第三章 – 布局,块和模板 深入理解Magento-第四章 – 模型和ORM基础 深入理解...

    magento-ce-2.4.0_sample_data-2020-07-26-02-51-57.tar.gz

    magento-ce-2.4.0_sample_data-2020-07-26-02-51-57.tar.gz Include sample data

    magento-ce-2.4.0-2020-07-24-11-15-38.tar.gz

    magento-ce-2.4.0-2020-07-24-11-15-38.tar.gz 不带sample data

    Magento-SMTP-Email

    "Magento-SMTP-Pro-Email-Extension"是一个专业的SMTP扩展,提供了一系列高级功能。以下是该插件的一些核心特性: 1. **多SMTP配置**:商家可以根据不同的业务需求配置多个SMTP服务器,比如用于测试和正式环境。 2...

    Magento-中文开发教程.doc

    Magento是一款强大的开源电子商务平台,专为在线商家设计,提供丰富的功能和高度的可定制性。本教程将深入探讨Magento的使用、配置以及开发实践,帮助读者掌握这一强大的系统。 一、Magento的基础架构与安装 ...

    Magento-Redismanager, 在 Magento,用于Redis的超级用户控制.zip

    Magento-Redismanager, 在 Magento,用于Redis的超级用户控制 Redis 管理Redis服务的实用程序特性系统> 配置>的自动或者手动配置高级> Redis管理在负载均衡环境中缓存服务不同的理想情况直接从magento面板管理员管理...

    magento-1.8.0.0.tar.gz

    2. **多店支持**:Magento 1.8.0.0 支持多店铺管理,用户可以在同一个后台管理系统下运营多个不同主题的商店。 3. **强大的商品管理**:提供了详细的商品分类、属性和选项设置,支持多种促销规则,如优惠券、折扣、...

    magento-演示数据1.6.1.0

    "magento-演示数据1.6.1.0"是一个专门为Magento 1.6.1.0版本准备的示例数据包,它包含了用于演示和测试 Magento 商店功能的各种数据,如产品、类别、顾客、订单等。 该压缩包文件“magento-sample-data-1.6.1.0”...

    magento-java-master.zip_magento

    这个“magento-java-master.zip_magento”压缩包可能是为了提供一个Java连接Magento源码的示例或者库,帮助开发者实现Java与Magento系统的交互。 在Java中与Magento进行交互通常涉及到以下几个关键知识点: 1. **...

    magento-ce-2.4.2-p1-2021-04-22-10-49-09.zip

    因为国外网速太慢了,所以下载后分享给需要的人。magento-ce-2.4.2-p1-2021-04-22-10-49-09

    magento -redis 插件安装包

    Magento是一款强大的开源电子商务平台,而Redis则是一种高性能的键值数据存储系统,常用于缓存、session管理等场景。在Magento中集成Redis插件可以显著提升网站性能,降低数据库负载,尤其是在处理高并发请求时。...

    PyPI 官网下载 | magento-0.6dev.tar.gz

    标题中的"PyPI 官网下载 | magento-0.6dev.tar.gz"指的是Python Package Index(PyPI)上的一个项目,它是一个名为"Magento"的软件包的特定版本,即0.6dev。PyPI是Python开发者发布和分享他们自己创建的Python库或...

    magento-1.9.1.1-2015-04-30-12-49-08

    这个标题"magento-1.9.1.1-2015-04-30-12-49-08"指的是Magento的一个特定版本,即1.9.1.1,发布于2015年4月30日,具体时间是12:49:08。这个版本包含了该阶段Magento系统的所有更新、修复和增强功能。 Magento 1.9....

    magento-1.7.0.7z

    这个7z压缩包“magento-1.7.0.7z”包含了用于安装Magento 1.7.0的所有必要文件,而“magento-1.7.0.2.tar”可能是该版本的一个特定更新或备份文件。 在深入探讨Magento 1.7.0的知识点之前,我们首先要了解它为何...

    Magento-CE-2.3.4_sample_data-2020-01-22-11-11-58.tar.gz

    Magento-CE-2.3.4_sample_data-2020-01-22-11-11-58.tar.gz源自官网

    magento-coding-standard:Magento编码标准

    在Magento 2站点内安装要在您的Magento 2项目中使用,可以使用: composer require --dev magento/magento-coding-standard 出于安全考虑,以这种方式安装时,无法自动添加phpcs的Magento标准。 您可以通过将以下...

    magento-stock-movements, Magento扩展,节省产品库存.zip

    magento-stock-movements, Magento扩展,节省产品库存 节省你的Magento产品的库存 特性将库存移动保存在产品修改页面的新标签中安装 Magento 1.5. x, 1.6. x, 1.7. x, 1.8. x, 1.9.x使用 modgit 安装:$ cd/pat

    Ajax-Magento-ajax-add-to-cart.zip

    Ajax-Magento-ajax-add-to-cart.zip,[模块magento 1]magento ajax添加到购物车-ajoter vos produits au panier en ajax/感谢ajax将您的产品添加到购物车,ajax代表异步javascript和xml。它是多种web技术的集合,包括...

    Magento 给产品描述关键字批量链接插件

    如何给产品描述里的关键字...可是由于需要,不得不自己开发一个这样的插件。并支持到Magento1.6.2 说明请查看:http://www.hicoogle.com/magento-gei-chan-pin-miao-shu-guan-jian-zi-pi-liang-lian-jie-cha-jian.html

    Magento-PSR-0-Autoloader, 这个扩展增加一个 PSR 0自动装弹机在Magento自动装弹机前.zip

    Magento-PSR-0-Autoloader, 这个扩展增加一个 PSR 0自动装弹机在Magento自动装弹机前 Magento-PSR-0-Autoloader这个扩展在Magento自动装弹机前添加一个 PSR-0 自动装弹机要初始化新的命名空间,请在 local.xml的...

Global site tag (gtag.js) - Google Analytics