Magento 的主要好处是你可以用它做任何你想做的事情:) 所以,是的,你可以输出 HTTPS 产品 url 或相关的。但是,在选择解决方案之前,让我们考虑一下 Magento 作者的愿景。
前端的 HTTPS 仅适用于特定领域,如客户帐户、支付方式、结帐等。产品没有什么私密性,因此也需要通过 HTTPS 进行查看。
默认情况下,Magento 甚至对上面提到的页面也不使用 HTTPS。为了打开 HTTPS,“在前端使用安全 URL”选项必须设置为“是”。如前所述,它将仅在包含一些私人数据的有限页面集中使用 HTTPS。
因此,最适合您的解决方案取决于您正在开发的商店的具体情况。
1) 如果您想为前端的所有页面启用 HTTPS - 那么最好的解决方案是将“https://...”放入“不安全”网络 URL 配置的“基本 URL”选项中。
2) 如果您只想为产品链接和有限数量的页面打开 HTTPS,那么您可以覆盖该页面的模板以放置相对 url。实际的代码可以用任何你喜欢的方式实现,即使是最简单的已经提出的方式也可以:
echo trim($_product->getProductUrl(),'http:')
3)如果你想在前端为所有产品链接使用 HTTPS - 那么最好的方法是覆盖Mage_Catalog_Module_Product_Url
模型和更改方法getUrl()
- 你需要放在那里
$routeParams['_secure'] = true;
这将生成所有使用 HTTPS 协议的产品 URL。
4)如果你需要只在HTTP页面显示HTTP产品链接,而HTTPS产品链接只在HTTPS页面显示,那么你可以使用方法3),逻辑更复杂:在设置'_secure'参数之前检查当前页面的协议。
希望能帮助到你。