【问题标题】:Remove search box based on Magento configuration根据 Magento 配置删除搜索框
【发布时间】:2015-11-20 19:31:30
【问题描述】:

我们如何将所有 magento 页面上搜索框的显示与“Mage_CatalogSearch”的配置设置联系起来?

详细说明一下这个问题: Magento 提供在 System -> Config -> Advanced 下禁用单个模块的输出。

在这里我们可以将“Mage_CatalogSearch”设置为停用。

搜索结果实际上不再显示,但是(至少在我们当前使用的模板中)搜索框仍然可见

  • 我们如何将搜索框的显示与“Mage_CatalogSearch”的设置联系起来?
  • 是否有比“Mage_CatalogSearch”更好的配置设置来完成任务?
  • 如果 Magento 的不同部分(例如主页、类别页面和产品详细信息页面)的方法不同,我希望得到有关如何为整个系统完成此操作的指导。

我更喜欢一种解决方案,它允许我们通过将“Mage_CatalogSearch”设置为再次启用来重新启用搜索,这应该会触发搜索框以及搜索结果再次显示,而无需再次修改代码。

非常感谢您!

亲切的问候 F

【问题讨论】:

    标签: magento configuration themes customization magento-1.9


    【解决方案1】:

    也许你可以尝试在你的 .phtml 中使用内置的核心帮助函数

    if(Mage::helper('core')->isModuleEnabled('MyCompany_MyModule') && Mage::helper('core')->isModuleOutputEnabled('MyCompany_MyModule'))
    { /* display searchbox */ }
    

    $isActive = Mage::getConfig()->getNode('modules/MyCompany_MyModule/active');
    if ($isActive && in_array((string)$isActive, array('true', '1')))
    { /* display searchbox */ }
    

    Mage::getConfig()->getModuleConfig('MyCompany_MyModule')->is('active', 'true'); /* which retuns true/false */
    

    【讨论】:

    • 太棒了!感谢你能这么快回复!在下面发布使用的代码
    【解决方案2】:

    感谢@GunJan Metha 为我指明了完全正确的方向!

    要修改的文件是(来自 magento 基本文件夹): ./app/design/frontend/[theme_package]/[theme]/template/catalogsearch/form.mini.phtml

    在原始 HTML 片段周围添加了以下代码,效果非常好:

       if(Mage::helper('core')->isModuleEnabled('Mage_CatalogSearch') && Mage::helper('core')->isModuleOutputEnabled('Mage_CatalogSearch')) {
    ?>
       <!-- here goes the original HTML that renders the search box -->
    <?php
       }
    ?>
    

    【讨论】:

      猜你喜欢
      • 2014-06-13
      • 1970-01-01
      • 2020-09-07
      • 2016-09-16
      • 1970-01-01
      • 1970-01-01
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多