Галерея продуктов Magento - PullRequest
       5

Галерея продуктов Magento

0 голосов
/ 21 сентября 2010

я не знаю, в порядке ли мой заголовок, но я пытаюсь сделать что-то вроде галереи или, по крайней мере, мой клиент назвал это так ... смеется ..... я пытаюсь сделать что-то вроде страницы результатов поиска, но без критериев поиска, без фильтра, просто нажмите на ссылку и посмотрите список товаров, с той же функциональностью, измените режим просмотра (Сетка, Список), выберите количество товаров, чтобы шоу и пейджер, здесь мне нужна помощь, я до сих пор делал следующее: я создаю новый контроллер с одним простым действием, например

public function listAction(){
    $this->loadLayout();
    $this->renderLayout();
}

в моем xml-макете

<catalog_products_list>
    <reference name="root">
        <action method="setTemplate"><template>page/1columns.phtml</template></action>
    </reference>
    <reference name="left">
        <block type="catalogsearch/layer" name="catalogsearch.leftnav" before="-" template="catalog/layer/view.phtml"/>
    </reference>
    <reference name="content">
            <block type="catalog/product_uhmalist" name="search_result_list" template="catalog/product/list.phtml">
                <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"/>
                </block>
                <block type="core/text_list" name="additional">
                    <block type='enterprise_search/suggestions' name='search_suggestions' template="search/suggestions.phtml"></block>
                    <block type='enterprise_search/recommendations' name='search_recommendations' template="search/recommendations.phtml"></block>
                </block>
                <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>4</count></action>
                <action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
                <action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
                <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
                <action method="setPageLayout"><layout>three_columns</layout></action>
            </block>
            <action method="setListOrders"/>
            <action method="setListModes"/>
            <action method="setListCollection"/>
    </reference>
</catalog_products_list>

он практически идентичен блоку catalogsearch_result_index в catalogsearch.xml, когда я пытался перейти на мою новую страницу, он не показывает товаров, коллекция была пуста, поэтому я меняю содержимое функции _getProductCollection () в app \ code \ core \ Mage \ Catalogue \ Block \ Product \ List.php для этого

if (is_null($this->_productCollection)) {
        $category = Mage::getModel('catalog/category')->load(5);
        $productCollection = $category->getProductCollection();
        Mage::getModel('catalog/layer')->prepareProductCollection($productCollection);
        $this->_productCollection = $productCollection->load();
    }
    return $this->_productCollection;

Мне не нравится менять основной код, но сейчас я пытаюсь заставить его работать, поэтому, когда я обновляю страницу, она показывает мне продукты, я могу изменить режим просмотра, я могу увидеть количество продуктов, но пейджер не работает, когда я изменяю количество продукта, которое я хочу показать, он ничего не делает, просто меняет метку 8 элементов для пунктов 1-8 из 8 и не группирует их , если я выберу 5, он должен показать только 5 элементов, но я могу видеть 8, которые у меня есть в моей БД, так что

что не так с моим кодом? Как я могу заставить пейджер работать ??
спасибо

1 Ответ

0 голосов
/ 22 сентября 2010

Я собираюсь ответить сам.

Я делал некоторые неправильные шаги в макете XML.Я изменил

<reference name="left">
    <block type="catalogsearch/layer" name="catalogsearch.leftnav" before="-" template="catalog/layer/view.phtml"/>
</reference>

на

<reference name="left">
    <block type="catalog/layer" name="catalogsearch.leftnav" before="-" template="catalog/layer/view.phtml"/>
</reference>

и изменил эту строку на значение по умолчанию

<block type="catalog/product_uhmalist" name="search_result_list" template="catalog/product/list.phtml">

на

<block type="catalog/product_list" name="search_result_list" template="catalog/product/list.phtml">

Сейчасвсе работает, даже пейджер.В любом случае, спасибо всем, кто прочитал мой пост

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...