Где вы поместите модифицированные файлы WSDL для API, чтобы переопределить основные определения?

magento.stackexchange https://magento.stackexchange.com/questions/1330

  •  16-10-2019
  •  | 
  •  

Вопрос

Мы обновили стандартные определения WSDL, чтобы поддержать атрибуты продукта в комплекте для SKU_TYPE и PROCE_TYPE. Я попытался поместить обновленные файлы WSDL и WSI в app/code/local/Mage/Catalog/etc/, но Magento не загружает их. Я не хочу оставлять их в основной области, но это единственное место, где я могу получить Magento, чтобы найти их.

Какие-либо предложения?

Это было полезно?

Решение

Вы также можете иметь определения WSDL в локальной папке. Что вам нужно сделать, это создать пользовательский модуль. В своем пользовательском модуле вы можете добавить файлы api.xml, wsdl.xml а также wsi.xml внутри etc папка.

Ваш wsdl.xml Файл должен быть принят во внимание при создании фактического WSDL. Magento объединяет все wsdl.xml файлы из всех модулей, у которых есть один (то же самое api.xml а также wsi.xml) Эти файлы объединены, поэтому вам не нужен полный файл XML из Mage_Catalog модель. Вы можете добавить только необходимые кусочки, просто убедитесь, что вы сохранили один и тот же путь.

Вот простой пример. В wsdl.xml из Mage_Catalog Есть этот кусок кода:

<definitions...>
    <types>
        <schema ...>
            <complexType name="catalogProductEntity">
                <all>
                    <element name="product_id" type="xsd:string"/>
                    <element name="sku" type="xsd:string"/>
                    <element name="name" type="xsd:string"/>
                    <element name="set" type="xsd:string"/>
                    <element name="type" type="xsd:string"/>
                    <element name="category_ids" type="typens:ArrayOfString"/>
                    <element name="website_ids" type="typens:ArrayOfString"/>
                </all>
            </complexType>
        </schema>
    </types>
</definitions>

И вы хотите добавить другое поле к этому типу, все, что вам нужно сделать в вашем файле wsdl.xml из вашего пользовательского модуля, это следующее:

    <definitions...>
        <types>
            <schema ...>
                <complexType name="catalogProductEntity">
                    <all>
                        <element name="custom_attribute" type="xsd:string"/>
                    </all>
                </complexType>
            </schema>
        </types>
    </definitions>

(Добавьте атрибуты для определений тегов и схемы, которые я заменил '...').

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top