Php Magento2-目录会话在产品列表工具栏中不起作用

Php Magento2-目录会话在产品列表工具栏中不起作用,php,session,magento2,Php,Session,Magento2,我对工具栏选项状态有问题。工具栏只能访问参数,如产品列表\u limit=15。当您删除GET param或change category(与版本1.x不同)时,web会丢失排序数据 我扩展了Magento\Catalog\Model\Product\ProductList\Toolbar类并尝试在会话中保存数据($this->\u catalogSession->setData('abcd','1234');),但会话仍然为空 我在另一个模块中完成了这项工作,会话运行得非常好。我认为问题出在

我对工具栏选项状态有问题。工具栏只能访问参数,如
产品列表\u limit=15
。当您删除GET param或change category(与版本1.x不同)时,web会丢失排序数据

我扩展了
Magento\Catalog\Model\Product\ProductList\Toolbar
类并尝试在会话中保存数据(
$this->\u catalogSession->setData('abcd','1234');
),但会话仍然为空

我在另一个模块中完成了这项工作,会话运行得非常好。我认为问题出在di.xml文件中,其条目如下:

<virtualType name="Magento\Catalog\Model\Session\Storage" type="Magento\Framework\Session\Storage">
    <arguments>
        <argument name="namespace" xsi:type="string">catalog</argument>
    </arguments>
</virtualType>

目录


Magento\Catalog\Model\Session\Storage

您知道吗?

将会话对象包含在di中并使用它存储值问题是全局性的(magento2上的所有网站在产品列表页面上都不能正常工作)。我在主页上对此进行了测试,会话正常工作,这就是我建议不要在plp中使用$this->\uCatalogSession的方式
<type name="Magento\Catalog\Model\Session">
    <arguments>
        <argument name="storage" xsi:type="object">Magento\Catalog\Model\Session\Storage</argument>
    </arguments>
</type>