плоские таблицы без мета-заголовка
-
28-09-2020 - |
Вопрос
Кто-нибудь знает, почему атрибут meta_title отсутствует как для плоских таблиц product, так и для category?
Я вижу поля meta_description и meta_keyword в плоских таблицах, но нет meta_title.Поэтому я вынужден использовать модель eav, и это нормально.Но мне было интересно, почему это так.Также есть ли у кого-нибудь "исправление" для этого, чтобы добавить meta_title к плоским таблицам?
Решение
Откройте атрибут «Meta_Title» в Admin, установите «Использовать в списке продуктов» как да, а затем попробуйте повторно индексировать.AFAIK, только атрибуты, выбранные для «использование в листинге продукта», включаются в плоские таблицы.
Другие советы
Вы можете сделать это, добавив meta_title
атрибут в frontend/product/collection/attributes
узел в config.xml
<frontend>
<product>
<collection>
<attributes>
<meta_title/>
</attributes>
</collection>
</product>
</frontend>
Объяснение:
Позвольте объяснить:
Первый взгляд на класс Mage_Catalog_Model_Resource_Product_Flat_Indexer
.
и имя функции getAttributeCodes()
который отвечает за создание столбцов в catalog product flat
.
Magento - это сначала взять атрибут из global/catalog/product/flat/attribute_nodes
используя
Mage::getConfig() ->getNode(self::XML_NODE_ATTRIBUTE_NODES) -> дочерние элементы();
От config.xml
в app/code/core/Mage_Catalog/etc/
<flat>
<max_index_count>64</max_index_count>
<attribute_nodes>
<product_collection>frontend/product/collection/attributes</product_collection>
</attribute_nodes>
<add_filterable_attributes>0</add_filterable_attributes>
<add_child_data>0</add_child_data>
<flag>
<model>catalog/product_flat_flag</model>
</flag>
</flat>
Которые внутренне вызывают конфигурационный узел: frontend/product/collection/attributes
.
Если мы определим здесь атрибут, то этот атрибут будет автоматически добавлен в виде столбцов в flat table
.
<frontend>
<product>
<collection>
<attributes>
<attribute_Code/>
</attributes>
</collection>
</product>
</frontend>
Затем необходимо создать плоскую индексную форму для управления индексами.