Magento: какую таблицу следует использовать в следующем коде? - PullRequest
1 голос
/ 31 января 2012

Я читал эту статью http://inchoo.net/ecommerce/magento/how-to-add-new-custom-category-attribute-in-magento/comment-page-1/

В установщике есть часть кода:

//this will set data of your custom attribute for root category
Mage::getModel('catalog/category')
    ->load(1)
    ->setImportedCatId(0)
    ->setInitialSetupFlag(true)
    ->save();

//this will set data of your custom attribute for default category
Mage::getModel('catalog/category')
    ->load(2)
    ->setImportedCatId(0)
    ->setInitialSetupFlag(true)
    ->save();

Здесь два вопроса:

Функция load имеет параметр.Это ID. Для какой таблицы следует использовать?

Для чего здесь setImportedCatId? Это сеттер, но я не понимаю, для чего он.

1 Ответ

5 голосов
/ 31 января 2012

Категории Magento по-прежнему используют структуру таблиц EAV, поэтому интересующая вас таблица имеет вид

catalog_category_entity

Однако вы не сможете увидеть названия категорий здесь.Большинство данных для объектов категории сохраняются в

catalog_category_entity_varchar

, проиндексированном обратно в таблицу catalog_category_entity по entity_id.

Я изучил современные исходные деревья, и кажется, что свойство данных imported_cat_id (это то, что может быть установлено установщиком), но на основе шаблонов, используемых в других местах системы Magento, я предполагаю, что какая-то версияMagento имеет код в дереве сохранения категорий, который ищет imported_cat_id, и если он установлен, данные новой категории будут основаны на старой категории.Другими словами, он позволяет быстро скопировать категорию и сохранить все ее метаданные.Установив значение 0 выше, код Inchoo сообщает Magento, что это новая категория.

Это всего лишь предположение, но я не о чем беспокоюсь.

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