Не удается получить доступ к пользовательскому режиму списка категорий на интерфейсе (Сетка, список и т. Д.)


Я попытался добавить list_mode в magento , но все, что это смогло сделать (для меня, на v1.9.1.0), это добавить список в Конфигурации > Система > Каталог > Интерфейс > Режим списка. Я сохранил новую настройку, но при повторении "$this->getmode()" ничего не возвращается, если я не выберу один из параметров сетки или списка.

\app\code\local\Mage\Adminhtml\Model\System\Config\Source\Catalog\ListMode.php

class Mage_Adminhtml_Model_System_Config_Source_Catalog_ListMode
{
    public function toOptionArray()
    {
        return array(
            //array('value'=>'', 'label'=>''),
            array('value'=>'grid', 'label'=>Mage::helper('adminhtml')->__('Grid Only')),
            array('value'=>'list', 'label'=>Mage::helper('adminhtml')->__('List Only')),
            array('value'=>'slider', 'label'=>Mage::helper('adminhtml')->__('Slider Only')),
            array('value'=>'grid-list', 'label'=>Mage::helper('adminhtml')->__('Grid (default) / List')),
            array('value'=>'list-grid', 'label'=>Mage::helper('adminhtml')->__('List (default) / Grid')),
            array('value'=>'slider-grid-list', 'label'=>Mage::helper('adminhtml')->__('Slider (default) / Grid / List')),
        );
    }
}
Author: Community, 2015-01-12

1 answers

Решено:

Необходимо добавить в список приемлемых представлений.

/home/user/public_html/app/code/local/Mage/Catalog/Block/Product/List/Toolbar.php

/**
 * Init Toolbar
 *
 */
protected function _construct()
{
    parent::_construct();
    $this->_orderField  = Mage::getStoreConfig(
        Mage_Catalog_Model_Config::XML_PATH_LIST_DEFAULT_SORT_BY
    );

    $this->_availableOrder = $this->_getConfig()->getAttributeUsedForSortByArray();

    switch (Mage::getStoreConfig('catalog/frontend/list_mode')) {
        case 'slider':
            $this->_availableMode = array('slider' => $this->__('Slider'));
            break;

        case 'grid':
            $this->_availableMode = array('grid' => $this->__('Grid'));
            break;

        case 'list':
            $this->_availableMode = array('list' => $this->__('List'));
            break;

        case 'grid-list':
            $this->_availableMode = array('grid' => $this->__('Grid'), 'list' =>  $this->__('List'));
            break;

        case 'list-grid':
            $this->_availableMode = array('list' => $this->__('List'), 'grid' => $this->__('Grid'));
            break;

        case 'slider-grid-list':
            $this->_availableMode = array('slider' => $this->__('Slider'), 'grid' => $this->__('Grid'), 'list' => $this->__('List'));
            break;
    }
    $this->setTemplate('catalog/product/list/toolbar.phtml');
}
 2
Author: TylersSN, 2015-02-05 16:19:36