Magento: названия для некоторых категорий, но не для всех - PullRequest
0 голосов
/ 07 октября 2011

Мне нужны теги заголовков для определенных категорий, но не для всех.Они отображаются по умолчанию, так что я до сих пор создал новый файл view.phtml в app / design / frontend / default / my_theme / template / catalog / category и закомментировал раздел, создав заголовок, который работает нормально,Следующим этапом будет включение заголовка в некоторых категориях.Я сделал это, добавив его вручную в описание категории, что нормально, но потом у меня появилась идея, возможно, создать блок cms и использовать его для этого.Для этого должен быть тег разметки или что-то для отображения текущей категории, которую я мог бы поместить в статический блок.Есть ли? .. или есть ли другой способ сделать это?

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

Ответы [ 2 ]

1 голос
/ 07 октября 2011

Вы также можете добавить дополнительный атрибут к категории, который работает как переключатель для отображения или не показа заголовка (какой бы способ не был самым простым). Затем настройте код шаблона, чтобы он проверял, должен ли заголовок отображаться или нет.

Я использовал следующий код для добавления дополнительных (textarea) атрибутов к категориям в Mage 1.5.0:

/* ADD ATTRIBUTES TO MAGENTO BACKEND FOR CATEGORIES 
 * Adding the type
 */
INSERT INTO eav_attribute (entity_type_id, attribute_code, backend_type, frontend_input, frontend_label, default_value, source_model) 
VALUES (9, 'category_from_data', 'text', 'textarea', 'From pricing text', '', '');

/*
 * Source Q:
 * INSERT INTO eav_entity_attribute ( entity_type_id, attribute_set_id, attribute_group_id, attribute_id, sort_order ) VALUES ( 3, 3, 3, <new attribute ID>, <next sort order> );
 * Works but entity_type_id should be 9 for category
 */
INSERT INTO eav_entity_attribute ( entity_type_id, attribute_set_id, attribute_group_id, attribute_id, sort_order ) VALUES ( 9, 12, 7, 9, 25 );

/* 
 * Adding the attribute itself
 */
INSERT INTO `catalog_eav_attribute` (`attribute_id`, `frontend_input_renderer`, `is_global`, `is_visible`, `is_searchable`, `is_filterable`, `is_comparable`, `is_visible_on_front`, `is_html_allowed_on_front`, `is_used_for_price_rules`, `is_filterable_in_search`, `used_in_product_listing`, `used_for_sort_by`, `is_configurable`, `apply_to`, `is_visible_in_advanced_search`, `position`, `is_wysiwyg_enabled`) VALUES
(977, NULL, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, '', 0, 0, 1);

Возможно, вы захотите проверить саму базу данных и выяснить, что entity_type_id 9 хранит в eav_entity_attribute и какой идентификатор вставки в eav_attribute находится после 1-го запроса.

Для добавления атрибута флажка я предлагаю вам проверить таблицы и рыбу на наличие существующего атрибута и соответствующим образом настроить параметры в запросе.

Надеюсь, это поможет;)

1 голос
/ 07 октября 2011

вы можете сделать это с помощью

<layout>
     <your_target_handler>
           <reference name="head">
                <action method="setTitle"><title>Your title</title></action>
           </reference>
     </your_target_handler>
</layout>

или сделать это через php

$this->getLayout()->getBlock('head')->setTitle('my title');

или

Mage::app()->getLayout()->getBlock('head')->setTitle('my title');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...