我正在使用Magento网站。如果有人搜索产品且未找到产品,则会显示“未找到匹配项”。
我已粘贴以下脚本:
<div id="partfinder_<?php echo $this->getInstanceSufix(); ?>_not_found"
style="display:none"><?php echo $this->__('No matches found.') ?></div>
我希望将用户重定向到新页面,以便填写查询表单。
答案 0 :(得分:3)
您可以自己创建一个模块,用于侦听 catalogsearch 模块上的索引操作。结果控制器。
然后通过检查从该模块助手获得的查询模型来检查结果是否为空:
$query = Mage::helper('catalogsearch')->getQuery();
/* @var $query Mage_CatalogSearch_Model_Query */
$query->setStoreId(Mage::app()->getStore()->getId());
如果您想要在任何查询上触发重定向,只需覆盖redirect
数据成员并使对象无法保存:
$query->setRedirect('/your/redirect/uri');
$query->setId(null);
$query->isDeleted(true);
然后结果的布局不会渲染,而是控制器操作会为您重定向。您可以在方法Mage_CatalogSearch_ResultController::indexAction()
(app/code/core/Mage/CatalogSearch/controllers/ResultController.php
)中查看。只需通过像xdebug这样的步调试器来查找易于与之交互的地方。此处还记录了对搜索有影响的基础EAV模型:Magento EAV System (Solving Magento)。
参见:
答案 1 :(得分:-3)
属于magento ,,,
你可以从2侧检查它
1-进入核心文件中的目录块产品列表并检查产品大小并重定向..您想要的位置..
2- from frontend /design/yourtheme/default/template/catalog/product/list.phtml 如果没有项目,则按标题重定向('location:url'); die;