两个页面模板都在getAddToCompareUrl上调用各自的产品。但由于某些原因,在主页上生成的添加到比较网址不同/缺少一个块并且点击它不会导致产品被添加到比较列表中。但是,为产品列表生成的“添加到比较”URL的工作方式与预期一致。以下是"添加比较"正在生成的网址:
主页(添加到比较网址不起作用,与产品列表中生成的相比,看起来不完整)
http://localhost/mg1/index.php/catalog/product_compare/add/product/156/uenc/aHR0cDovL2xvY2FsaG9zdC9tZzEvaW5kZXgucGhwLw,,/form_key/ysxqFftqrKpaqGqE/
产品详情(添加以比较网址工作)
http://localhost/mg1/index.php/catalog/product_compare/add/product/156/uenc/aHR0cDovL2xvY2FsaG9zdC9tZzEvaW5kZXgucGhwL2xhcmdlLWFwcGxpYW5jZXMvcmVmcmlnZXJhdG9ycy5odG1sP21hbnVmYWN0dXJlcj0yMg,,/form_key/Vh0H6NDCl3wFGSys/
如果我观察到两个URL之间的差异,那么在主页上生成的URL在/ enc / section中缺少一个大块,/ form_key /在两个URL上也是不同的,尽管它们是针对同一个产品的(ID 156)。
我快速浏览了一下getAddToCompareUrl函数,其中我看到它派生了url enc并形成了URL的关键部分,(code \ core \ Mage \ Catalog \ Block \ Product \ Abstract.php)但不知道如何通过它下面的无数类调用来调试,我迷失了。
帮助任何人?