Я пытаюсь исправить ошибку на странице расширенного поиска. Проблема в том, что если я ищу некоторые клавиши, скажу «красный», тогда все результаты появятся. например: для красных отображает 62 результата на одной странице, хотя существует предел разбивки на страницы. Пагинация установлена для отображения 27 продуктов на странице. Но на странице все 62 продукта. Это означает, что изначальная разбивка на страницы не работает.Поиск Показать все продукты с навигацией слоев
Я провел некоторое исследование этого и обнаружил, что навигация по слою вызывает проблему. Я попытался удалить навигацию слоя из файла настроек (catalogsearch.xml) и попытался, затем поиск был очень быстрым, а разбиение на страницы также отлично работало. Мне нужна и разбивка на страницы, и наложение слоев.
Вот мой код для расширенного поискового блока.
<catalogsearch_advanced_result translate="label">
<label>Advanced Search Result</label>
<update handle="page_two_columns_right" />
<!-- Mage_Catalogsearch -->
<reference name="head">
<action method="addJs"><script>javascript/jquery.history.js</script></action>
</reference>
<reference name="root">
<action method="setTemplate"><template>page/searchresult-left.phtml</template></action>
</reference>
<reference name="left">
<action method="unsetChild"><name>catalog.vertnav</name></action>
<block type="catalogsearch/layer" name="catalogsearch.leftnav" template="catalogsearch/layer/view.phtml"/>
</reference>
<reference name="content">
<block type="catalogsearch/advanced_result" name="catalogsearch_advanced_result" template="catalogsearch/advanced/result.phtml">
<block type="catalog/product_list" name="search_result_list" template="catalog/product/list.phtml">
<action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action>
<action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action>
<action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>3</count></action>
<action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>3</count></action>
<action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
<block type="page/html_pager" name="product_list_toolbar_pager" />
<action method="addAjax"><ajax>true</ajax></action>
<action method="addPagerLimit"><mode>grid</mode><limit>27</limit></action>
<action method="addPagerLimit"><mode>grid</mode><limit>54</limit></action>
<action method="addPagerLimit"><mode>grid</mode><limit>75</limit></action>
<action method="addPagerLimit"><mode>grid</mode><limit>100</limit></action>
<action method="addPagerLimit"><mode>grid</mode><limit>all</limit><label>All</label></action>
</block>
<action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
</block>
<action method="setListOrders"/>
<action method="setListModes"/>
<action method="setListCollection"/>
</block>
</reference>
</catalogsearch_advanced_result>
Пожалуйста, укажите, почему разбиение на страницы не работает при первой загрузке. Позже разбиение на страницы работает отлично.
Я исправил исходную проблему с разбивкой по страницам. Но по-прежнему невозможно зафиксировать производительность навигационной системы. Его все еще медленно. –
$ this-> drawOpenCategoryItem() эта функция делает поиск очень медленным. Его там в /app/code/local/Mage/CatalogSearch/Block/Advanced/Navigation.php. он принимает 1 категорию, проверяет, существует ли какая-либо дочерняя категория или нет ... если она снова переходит в цикл и повторяет для других таким же образом. –