Интерпретация модели, связанной config.xml


Внутренний файл app/code/core/Mage/Sales/etc/config.xml , есть:

<sales>
    <class>Mage_Sales_Model</class>
    <resourceModel>sales_resource</resourceModel>
</sales>
<sales_entity>
    <class>Mage_Sales_Model_Entity</class>
    <entities>
        <quote>
            <table>sales_quote</table>
        </quote>
        ...
    </entities>
</sales_entity>
<sales_resource>
    <class>Mage_Sales_Model_Resource</class>
    <entities>
        <quote>
            <table>sales_quote</table>
        </quote>
        ...
    </entities>
</sales_resource>

Что именно представляют эти теги <entities>? Как их интерпретировать? Я вижу, что они содержат все имена таблиц, но как таблицы, объявленные в разделе <sales>, соотносятся с таблицами в разделе <sales_resource>? Почему у <sales> есть элемент <resourceModel>, а у <sales_entity> его нет?

Я хотел бы запросить данные о доставке, связанные с заказами, возможно, вместе с некоторыми другими данными о продукте и клиентах. Я пытаюсь понять, как получить подходящий объект модели ресурсов для sales_flat_shipment, а затем объединить его, например, с sales_flat_order_item.

Author: Fabian Blechschmidt, 2014-01-15

1 answers

Эти узлы предназначены для обратной совместимости.

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

Начиная с этой версии, я бы предположил, что они добавили узел <sales_resource>, потому что с тех пор у нас есть стандартная модель ресурсов (больше нет подслушивания). До этого magento имел sales_entity в качестве представления eav_entity.

Поэтому, если у вас нет модулей, которые зависят от этого, вы можете удалить узел <sales_entity>.

 1
Author: Fabian Blechschmidt, 2014-01-15 16:26:06