This is an old revision of the document!


Mirasvit Search AutoComplete Box Missing After Enabling LiteMage

If you have added “header” in LiteMage's Customized Block Names for “toplinks” Tag setting (could link to that wiki entry), the entire header will be treated as one big ESI block. When LiteMage is enabled, the default search box will show up in the header, but not the customized Misrasvit search box.

  1. Locate the layout XML added by Misrasvit search box. In our example this is located in:
    design/frontend/base/default/layout/mst_searchautocomplete.xml

    In the default handle, it adds search.block.

    <default>
      …
            <block type="searchautocomplete/layout" name="search.block">
                <action method="addSearchAutocomplete" ifconfig="searchautocomplete/general/enabled" />
            </block>
      …
    </default>
  1. This search block is not directly added to header block in the layout, but is added later in the addSearchAutocomplete action method call. The related code is located in the Mirasvit_SearchAutocomplete_Block_Layout addForm() function in file app/code/local/Mirasvit/SearchAutocomplete/Block/Layout.php. When LiteMage renders the ESI block header based on layout, it is not aware of this replaced search box, thus the default search box is used.
  2. To fix this, simply add this block to the header block in the layout file, allowing the related layout xml to be picked up by LiteMage. Modify the above layout file, wrapping the block with a header reference.
    <default>
      …
        <reference name="header">
            <block type="searchautocomplete/layout" name="search.block">
                <action method="addSearchAutocomplete" ifconfig="searchautocomplete/general/enabled" />
            </block>
        </reference>
      …
    </default>
  1. Flush the Magento configuration cache and LiteMage cache. The customized search box should now appear as normal.
  • Admin
  • Last modified: 2017/02/22 20:44
  • by Michael Alegre