NopCommerce 3.9 突出功能

  • 符合PCI DSS 3.2要求。密码尝试失败锁定支持(可配置)。不允许客户提交之前使用的密码(可配置)。密码必须至少每90天更改一次(可配置)。

  • 消息模板中的支持条件。例如,现在如果不需要运送,您可以在电子邮件中隐藏送货地址。

  • 布尔逻辑支持折扣要求(“AND”或“OR”或组)。

  • 延迟使用奖励积分。商店所有者可以指定时间段,在该时间段之后点应变为活动状态。

  • 允许客户应用多个折扣优惠券代码。

  • 允许商店所有者配置自定义订单编号。例如,添加一些前缀或日期。

  • 允许商店所有者管理每个客户角色(ACL)的插件访问权限。

  • 允许商店所有者指定产品可用性范围(将显示,而不是一般的“缺货”消息)。

  • 捆绑产品(与其他产品相关联的属性)。允许客户输入数量的选项。

  • 层级价格现在支持开始和结束日期(因此删除“特殊价格”产品属性)。

  • 跟踪产品的库存变化。

  • 允许商店所有者和供应商回复产品评论。

 NopCommerce 3.9 改进列表

  • 管理区域重新设计的进一步更改。更多用户友好的按钮(不像以前的链接)。重新设计的网格。货币,重量,尺寸的新输入。

  • 新的重新设计的安装页面。

  • 货币四舍五入规则。

  • 添加了指示是否应在顶部菜单中显示“默认”项目(主页,论坛,联系我们等)的设置

  • 发展。现在我们使用模型工厂(它使开发人员更容易定制)。

  • 现在,客户可以在提交退货请求(扫描,附加文档等)时附加文件。默认情况下禁用。

  • 多个XML网站地图文件(如果我们有超过50,000条记录)。

  • 允许商店所有者指定供应商的地址。

  • 每个商店显示新闻和博客评论的设置。

  • 添加了新闻和博客评论的批准机制。

  • 性能优化。加载用户代理的速度增加,并且内存使用减少。现在网站需要更少的内存。

  • 性能优化。缓存请求之间的折扣。以前,我们为每个HTTP请求加载了所有折扣

  • 性能优化。当一些事件被触发时(不是所有的事件),我们应该从缓存中只删除适当的记录。

  • 性能。HTTP请求之间的博客和新闻评论的缓存数。

  • 简化管理区域。将“基本高级”模式添加到其他多个实体(类别,签出属性,制造商,消息模板,主题)。

  • 性能优化。缓存供应商和制造商在管理区。

  • 性能优化。添加了一个存储过程来加载所有类别(默认情况下禁用)。

  • 在管理区域中添加所有必需输入的必需提示。

  • 返回请求。允许按自定义数字,日期,状态搜索。

  • 博客和新闻评论。允许按日期,文字,已批准状态进行搜索。

  • 失败的定期付款的客户通知。

  • 为每个消息模板添加了说明。

  • 已将“联系我们”电子邮件移至邮件模板。现在商店所有者可以选择默认的电子邮件帐户(用于发送这些电子邮件)和配置BCC。

  • PayPal直接插件。传递所有购买项目的列表(可配置)。

  • 将“固定费率运费”和“按重量运费”插件合并为一个。升级说明:不要忘记手动删除“/Plugins/Shipping.FixedRateShipping”和“/Plugins/Shipping.ByWeight”目录(它们不再使用),并替换插件«Shipping.Fixed Rate»或«Shipping.ByWeight»通过App_Data / InstalledPlugins.txt文件中的插件«Shipping.FixedOrByWeight»。

  • 将“Nop.Plugin.Tax.CountryStateZip”和“Nop.Plugin.Tax.FixedRate”插件合并成一个。升级说明:不要忘记手动删除“/Plugins/Tax.FixedRate”和“/Plugins/Tax.CountryStateZip”目录(它们不再使用),并替换插件«Tax.Fixed»或«Tax.CountryStateZip» App_Data / InstalledPlugins.txt文件中的插件«Tax.FixedOrByCountryStateZip»。

  • 将“Froogle”插件重命名为“Google购物”。升级说明:手动删除/Nop.Web/Plugins/Feed.Froogle/目录

  • 现在客户在编辑后应重新验证新电子邮件地址(如果“注册方法”设置为“电子邮件验证”)。

  • 在消息模板详细信息页面上仅显示支持的令牌。

  • 添加了一个设置,指示订单状态应标记为“完成”(刚刚发货或交货时)。

  • 管理区。如果面板中没有任何搜索字段,则隐藏“搜索”按钮。

  • 添加了新回复请求的消息模板(对于客户)。

  • “产品从未购买”报告。允许按商店,供应商,类别和制造商过滤。

  • “出货”和“产品从未购买”页面。过滤器块具有太多空间(现在在两列中显示它们)。

  • 使用标准textarea替代TinyMCE消息模板,广告活动和排队的电子邮件。

  • 允许商店所有者按产品类型“限制”产品模板。现在,如果商店所有者选择“简单”产品类型,则他将看不到“已分组”产品模板。

  • 允许商店所有者决定是否在商店之间共享购物车(和愿望清单)(在多店环境中)

  • 在结帐期间显示付款方式说明。

  • 向注册页面添加了外部认证块。

  • 允许商店店主选择用于发送广告系列的电子邮件帐户。

  • 估计运输形式。添加了对“输入”按钮(“邮政编码”输入)的支持。

  • 如果指定的搜索引擎友好名称已存在,则显示警告。

  • 如果不需要送货,则添加了隐藏“装运总计”标签的设置。

  • 不允许从购物车中取出所需的产品。

  • 添加印度卢比到内置的货币列表。

  • 允许从语言添加/编辑页面的下拉列表中选择语言。

  • 服务条款。复选框标签应该可以点击。

  • 系统信息页(管理区)。显示加载的程序集的更多详细信息和变量和程序集列表的更可读格式

  • 对PayPal直接付款插件使用REST API。

  • 将“付款方式限制”菜单标题重命名为“付款限制”。

  • 将附加到备份文件名的随机数增加为10。

  • 默认情况下启用“运送到相同地址”设置。

  • 确保商店所有者可以预览不可用的产品,类别和制造商(映射到其他商店,ACL等)。

  • 导入状态(国家列表页面)。添加了官方包的链接(http://www.nopcommerce.com/p/1622/all-states-provinces-package.aspx)

  • 将产品导出到XML时使用产品编辑器设置。

  • 允许管理员更改客户用户名,无论“允许客户更改用户名”设置如何。

  • 添加了一个税务设置,指示我们是否应使用提货点地址进行税务计算(由客户选择)。

  • 性能。在启用LoadAllLocaleRecordsOnStartup设置并使用Redis缓存时显示警告。

  • 现在ECB汇率提供商支持不同的货币。

  • 产品详细信息页面。允许编辑规范属性选项

  • 添加了新的税制设置“产品的默认税制类别”(在添加新产品页面上预设)。

  • 结帐和自定义结帐属性属性。当“属性类型”不需要任何值时,隐藏“属性值”选项卡。

  • 添加了一个设置,指示产品是否只能由已订购的客户审核。

  • 在电子邮件帐户详细信息页面上隐藏输入的密码。

  • 供应商可以导入产品(Excel)。

  • 供应商可以导出订单(Excel)。

  • 如果选择“使用我的积分”并且获得的积分足以支付订单的全部费用,则无需在结帐时显示付款方式

  • 加拿大邮政插件现在支持商业客户。

  • 返回请求列表页面。显示产品属性信息。

  • 添加了很多新的活动类型。

  • 返回请求页面。添加了到相应订单详细信息页面的导航链接。

  • 允许商店所有者指定提货点的状态。

  • 现在我们支持头部中的客户名称,而不仅仅是电子邮件或用户名(“HeaderLinksModel”的“CustomerName”属性)。

  • “TaxSettings.LogErrors”设置现在默认为禁用。

  • 允许从目录页面向仅具有“readonly”产品属性的产品添加产品到购物车。

  • 在删除订单时添加了用于停用礼品卡的设置。

  • 进口产品。分类和制造商应该在进口后完全匹配(所有删除类别/制造商在进口期间)。

  • 出口/进口产品。添加了对产品标签的支持。

  • 导出订单。包括有关产品的信息。

  • 出口客户。包括自定义客户属性。

  • 允许商店所有者在管理区域中向sitemap.xml文件中添加自定义网址(使用“commonsettings.sitemapcustomurls”设置)。

  • 添加了一个列,表示客户注册的商店。

  • 将所有第三方库更新为最新版本。

  • 已添加设置(paymentsettings.skippaymentinfostepfor重定向付款方式),指示我们是否应跳过重定向付款方式的“付款信息”页。默认情况下禁用。

  • 禁止/管理robots.txt文件。

  • 不允许将“页面大小”指定为0(类别,供应商,制造商)。否则,异常可以在公共存储中抛出。

  • 复制产品功能现在支持属性条件。

  • 本地化所有硬编码资源。

  • 产品图片库中默认的“点击缩放”行为的更改。

  • 网格传呼机(管理区)和TinyMCE编辑器的本地化。

  • UPS插件。添加了“星期六交货”选项。

  • 显示“最大折扣数量”(应用时)的用户友好信息。

  • 供应商应查看订单是否已取消

  • 管理区。所有表的统一视图。

  • 管理区。如果只有一个商店可用,则不显示“store”列。

  • 默认情况下缓存静态内容24小时(cacheControlMaxAge)。

  • 复制产品。新产品名称应为“原始名称 - 复制”(不是“Copy of ....”)。还要在SKU字段中添加“ -  copy”。

  • 属性组合。库存数量默认值应设置为0。

  • 捆绑产品。显示添加关联产品及其属性的警告。

  • 捆绑产品。显示添加相关产品的警告,这是礼品卡或可下载的产品。

  • 为Azure Blob设置CacheControl标头。

  • 在排队的电子邮件详细信息页面上显示指定的消息模板静态文件附件。

  • 为自定义客户属性(Customer.CustomAttributes)添加了消息令牌。

  • 商店关闭时允许订阅简报。

  • 在计算运费时,将立方根根法应用于关联的产品(ShippingSettings.ConsiderAssociatedProductsDimensions)。

  • 产品详细信息页面(管理区域)。如果只有一个值,请隐藏“产品模板”下拉列表。

  • 奖励点设置。已删除“已授予订单状态”和“已取消订单状态”字段。

  • 订单设置。用适当的复选框替换“礼品卡激活订单状态”和“礼品卡停用订单状态”下拉列表(只有两种可用方案)。

  • 不要在“搜索引擎友好URL”字段中允许系统名称(例如“con”,“com1”,“lpt1”等)。无论如何,它们将导致运行时错误。

  • 联盟详细信息页面。已移除「联盟识别码」栏位。

  • 启用“忽略折扣”设置时,在折扣列表页上显示警告。

  • 确保商店所有者无法使用“关联到产品”类型创建没有关联的产品属性。

  • 仅向管理员显示MiniProfiler的设置。

  • 安全。将“RequireReLogin”字段添加到“客户”记录。如果设置为“true”,则需要客户重新登录。

  • 不再需要主题系统名称。

  • 从解决方案中删除了“DiscountRequirement.HadSpentAmount”和“DiscountRequirement.HasAllProducts”插件。从3.90开始,他们将可以在市场上下载。

  • 已移除客户列表页(管理区域)上的“ID”列。

  • 将“Azure网站”重命名为“Azure Web Apps”(web.config)。

  • PayPal标准插件。正确排序总验证。

  • 添加支持输入按钮到购物车页面上的折扣和礼品卡盒。

  • 导入期间记录活动。

  • 性能。优化一些图像(减小的大小)。

  • 性能优化。顶级菜单和类别导航块中的类别可以使用相同的模型(cachable)。因此只加载一次。

  • 性能。UrlRecordService的GetAllUrlRecordsCached方法应该使用“TableNoTracking”(只读)。

  • 在客户导出中添加注册日期。

  • 管理区。在客户和电子邮件帐户页面上隐藏输入的密码。

  • 管理区。添加了对在新窗口中打开的菜单项的支持。

  • 管理区域菜单。允许有两个以上的级别。

  • 添加了一个设置('commonsettings.bbcodeeditoropenlinksinnewwindow'),指示BBCode Editor是否应使用“target = _blank”(新窗口)生成URL。

  • PayPal标准插件。添加新的URL到IPN回发。

  • 不要求“装运跟踪器”具有有效的运费计算提供商。

  • 确保所有存储过程使用“dbo”模式。

  • Order / Details.cshtml,ShipmentDetails.cshtml和_OrderReviewData.cshtml文件的标记优化

  • 删除了论坛帖子中不必要的HTML元素

  • 发展。支持“kendoMultiSelect”控制,以覆盖每个商店的设置

  • 发展。更改了插件视图的存储方式。现在我们将它们存储在\ Views \ file.cshtml中。以前是\ Views \ plugin_name_directory \ file.cshtml(删除了额外的目录)。这更简单。

  • 发展。“图像方块”属性的附加CSS类。

  • 发展。为整个应用程序启用TLS 1.2支持(而不是为每个插件添加此支持)。

  • 发展。GetOrdersByIds,GetCustomersByIds,GetProductsByIds方法应忽略已删除的记录。

  • 发展。在控制器中将所有方法标记为“虚拟”。

  • 发展。将整个通讯实体传递给活动。

  • 发展。使用具有Redis的分布式锁来排除TaskScheduler争用条件。

  • 发展。为刚刚标记为已删除的实体添加了“删除”事件

  • 发展。重构映射规则(AutoMapper)。现在我们可以多个mappers(插件开发者可以使用它)。每个映射器应实现IMapperConfiguration接口。

  • 发展。将“UpdateExistingResources”参数添加到“ImportResourcesFromXml”方法。

  • 发展。更改了DownloadActivationType枚举值。

  • 发展。添加了更多的“orderby”到服务方法。有时,DisplayOrder是不够的。

  • 发展。如果第一个字母是大写(CommonHelper.ConvertEnum),请修剪开始空间。

  • 发展。在编辑产品评论时添加ProductReviewApprovedEvent。

  • 发展。添加“客户退出”事件。

  • 发展。WorkflowMessageService的Send Send方法标记为public。

  • KendoUI网格。如果在“列表”方法中拒绝访问,则返回错误消息。

  • 重构。简化单元测试(Nop.Data)。

  • 很多其他源代码重构。

 

  NopCommerce 3.9 Bug解决与修复


  • 确保不对特殊字符进行编码(富编辑器)。例如,ä不应成为“ä”。否则,当单词包含此类字符时,数据库搜索变得不可能。

  • 使用IsoDateTimeConverter在Kendo网格中正确格式化日期(默认情况下禁用)。

  • PayPal直接。修复了付款状态更新错误,并启用了欺诈过滤器。

  • ReCaptcha版本1在启用SSL的商店上发出警告。

  • 如果订单总金额已全额退款,请将付款状态设置为“已退款”。

  • 用户帐户页面上未显示用户名(只读)。

  • 过滤器长度超过255时,产品导出失败。

  • 为“未找到页面”页面显式设置内容类型。

  • “返回请求状态已更改”消息模板应使用客户语言(不是默认管理员)。

  • 正确考虑GetThisPageUrl方法上的安全连接。以前,它可能会导致服务,如CloudFlare和非英语文化的问题。

  • 计算奖励积分时,不应包括运费总额。

  • 累积折扣(含优惠券代码)。如果您使用相同的代码有多个折扣,并且其中一个由于某些原因(例如不满足要求等)而无法应用,则您得到“您输入的优惠券代码无法应用于您的订单”错误当在购物车页面上输入优惠券代码时。因为我们只验证第一个找到的折扣。现在我们为所有找到的折扣。

  • 修正了BBCodeHelper中的IMG标记错误。

  • 修正了Fedex插件中针对印度国内运费的错误

  • Google Analytics(分析)插件。确保在重新加载订单完成页时不会重复交易。

  • 当语言名称带有括号时,语言选项卡无法正常工作。

  • 计划任务抛出异常是期间更多24天(添加一条注释到sdchedule任务列表页面,期间不应超过24天)。

  • 产品详细信息页面。无法删除名称过长的类别(或任何其他实体)(只能在类别详细信息页上进行)

  • 发送给供应商的电子邮件不应使用客户语言

  • 使用大于0的数据库编号时,RedisCacheManager无法正常工作。

  • Robots.txt文件未正确生成本地化网址。

  • 供应商不应该看到其他供应商的产品(PDF发票)。

  • 供应商应该只为自己的产品看到“管理此页面”链接。

  • 固定“服务条款”对话框大小问题。

  • RSS订阅。修正所有警告。

  • 当购物车中的产品过多(网址限制为2048个字符)时,Paypal标准失败。

  • 在产品导入期间忽略BackorderMode属性。

  • 添加了在目录页面(而不仅仅是产品详细信息页面)上显示SKU的设置。

  • 我们应该显示带有删除订单项目的退货请求。

  • 确保在USPS插件中没有抛出异常。否则,USPS不响应可能会导致站点错误。

  • 使用表单的密码保护页面的验证修复。

  • “固定具有”多个语言的SEO友好URL“设置的问题。以前不存在的语言代码可以由用户在URL中指定。例如,您只有英语和俄语语言,但用户可以访问http://www.yourstore.com/gr/product-name(希腊语)等网址。

  • 修正了错误的拾取点标记位置与坐标。

  • 固定显示手动订单状态更改警告(管理区域中的订单详细信息页)

  • 不可见但必需的条件签出属性不应验证。

  • “检查/汇票”插件没有使用每个商店覆盖的描述。

  • 我们应该舍入Google购物插件中的价格。否则,它可能会生成与产品详细信息页不同的价格。

  • 自定义客户属性未验证管理区域中的“必填”字段。

  • 客户详细信息页面(管理区域)。我们不应为客人验证必填表单字段。

  • 在编辑产品标签时,我们必须手动清除缓存。

  • 如果我们只有“按钮”付款方式(例如PayPal Express),我们不应允许客户访问“结帐”页面(隐藏它和适当的按钮)。

  • “使用购物车显示产品图片”设置,而不是“在愿望清单上显示产品图片”

  • 进口产品。默认情况下,我们应该将“Visible individual”和“Published”设置为“true”(如果未指定)。

  • 订单详细信息页面(管理区域)。登录供应商时呈现空面板。

  • Azure。无效的MIME类型已保存在blob中。

  • 论坛主题页面具有重复ID的输入(失败的HTML验证)。

  • 定期订单不支持“CustomValues”(值未复制到新订单)。

  • 在导入(Excel)并通过SKU查找现有产品时,我们应忽略已删除的产品。

  • 修正了错误显示SKU,GTIN,MPN与产品属性的错误

  • 搜索(网页和自动填充框)不支持错误的字符(HTML输入验证)。

  • 修正了一个错误计算与层价格产品的最低价格错误(在某些情况下,最大折扣可能配置不是最大数量)。

  • Nop.Admin \ Views \ Product \ _ProductAttributes.cshtml“内置操作”应设置为“内容”。否则,一些IDE可以在部署时跳过它。

  • “PublicStore.Login”活动类型未按预期工作。

  • 固定在“消息队列项”页面上显示“已发送”字段值

  • 在Nivo Slider插件中应忽略数据库备份。

  • “按国家和州&邮政编码”和“固定税”提供商使用已删除的税种类别的税率。商店所有者删除税务类别时,应删除相应的记录。

  • 仪表板图表(报告)包括未来几个月的数据。

  • 管理控制台图表(订单和新客户)自2017年以来显示为平线。

  • 我们应该禁用“退款”(全部)按钮,当一些部分退款已经完成。如果商店所有者在部分退款后手动将订单标记为已付款,则可以重现。

  • WebHelper.GetStoreLocation(false)是在GenericPathRoute中硬编码(HTTP)。当网站被强制为HTTPS时,可能会导致问题。

  • 加拿大邮政插件。修复了与邮政编码与空格相关的错误。

  • 管理区。菜单项“Measures”有错CSS类。

  • 不要在模拟模式下验证用户。

  • 主题详细信息页面(管理区域)上的“ACL”字段使用了错误的区域设置资源。

  • MessageTokenProvider的“GetStoreUrl”方法在某些情况下无法正确检测安全URL。

  • 我们不应在“客户角色”字段旁边的客户详细信息页上显示“为了使用此功能...”警告。

  • 修复了多行文本解密的错误。

  • “GetCurrentIpAddress”方法在Web服务调用时抛出异常。

  • 解决了SEO标签(管理区域)上产品详细信息页面的灰色背景问题。

  • 将LastSuccessUtc属性设置为构造函数中的数据库值。没有它,如果任务抛出异常,数据库中的LastSuccessUtc列将被覆盖为NULL,因为该属性从未初始化。

  • 管理区。在确认弹出窗口中固定按钮对齐。

  • 固定帐户信息页面CSS问题。

  • 固定“下载”编辑器模板CSS问题。