Magento-是否可以设置;分页框;从模板/布局?
我想知道是否有任何方法可以从模板phtml文件或xml布局文件中设置“分页框架”?例如,将其从: 1 2 3 4 5> 到 1 2 3> 我正在处理一个移动主题,我想设置分页中列出的页面数。我知道这可以从管理(配置->设计->分页->分页框架)进行设置,但我希望对桌面用户保持原样,但对移动用户设置较少的页面数 使用mobile themes catalog.xml文件,我可以使用以下命令设置每页的产品数量:Magento-是否可以设置;分页框;从模板/布局?,magento,mobile,Magento,Mobile,我想知道是否有任何方法可以从模板phtml文件或xml布局文件中设置“分页框架”?例如,将其从: 1 2 3 4 5> 到 1 2 3> 我正在处理一个移动主题,我想设置分页中列出的页面数。我知道这可以从管理(配置->设计->分页->分页框架)进行设置,但我希望对桌面用户保持原样,但对移动用户设置较少的页面数 使用mobile themes catalog.xml文件,我可以使用以下命令设置每页的产品数量: <action method="addPagerLimit"><mod
<action method="addPagerLimit"><mode>grid</mode><limit>10</limit></action>
如果可以通过模板文件实现,是否也可以设置显示的产品数量
注意:我想从模板中设置它的原因是,我可以使用管理模块中的变量集。要通过观察者更改帧长度,请执行以下操作:
<frontend>
...
<events>
<core_block_abstract_to_html_before>
<observers>
<frame_length_according_to_useragent>
<type>singleton</type>
<class>yourmodulemodelalias/observer</class>
<method>setDifferentFrameLengthForMobileDevices</method>
</frame_length_according_to_useragent>
</observers>
</core_block_abstract_to_html_before>
</events>
...
</frontend>
<frontend>
...
<events>
<core_block_abstract_to_html_before>
<observers>
<frame_length_according_to_useragent>
<type>singleton</type>
<class>yourmodulemodelalias/observer</class>
<method>setDifferentFrameLengthForMobileDevices</method>
</frame_length_according_to_useragent>
</observers>
</core_block_abstract_to_html_before>
</events>
...
</frontend>
您必须将$block->setFrameLength(2)放入将>编码到if()中,在其中检查useragent。此外,您还需要通过Mage::getStoreConfig('design/pagination/pagination_frame_for_mobile_devices')更改数字“2”
其中pagination_frame_for_mobile_devices将是您在模块的system.xml中创建的新配置值
HTH实际上,您可以直接从移动主题的模板页面/html/pager.phtml中执行此操作,并且可以正常工作
<?php $this->setFrameLength(2) ?>
把它放在前面
<?php foreach ($this->getFramePages() as $_page): ?>
我认为支持比支持活动更好。事件库开发对于这样做的人来说很好。但是,当项目移交给另一个开发人员甚至开发团队时,这是一个可怕的遗产。我不认为您可以从视图文件中这样做,因为帧长度是在块中设置的(
Mage\u Catalog\u block\u Product\u List\u Toolbar->getPagerHtml()
),但您可以在模块中轻松覆盖它,或者甚至创建一个观察者来设置您在配置中创建的新变量的值。如果这能满足您的需要,请让我知道,我会进一步解释。我已经覆盖了导航,所以我想覆盖寻呼机块也没什么坏处,可以在那里获取我的管理变量。我只是想看看有没有更简单的路线!出于兴趣,在这种情况下,你会如何使用观察者?为此干杯,有趣的是,你永远不会想到这样做。可能只是覆盖更容易,但知道这一点绝对有用!
<?php foreach ($this->getFramePages() as $_page): ?>