핵심 정의를 대체하기 위해 API에 대해 수정 된 WSDL 파일을 어디에 배치합니까?


10

sku_type 및 price_type에 대한 번들 제품 속성을 지원하도록 표준 WSDL 정의를 업데이트했습니다. 업데이트 된 WSDL 및 WSI 파일을에 넣으려고 app/code/local/Mage/Catalog/etc/했지만 Magento가로드하지 않았습니다. 핵심 영역에두고 싶지 않지만 Magento가 찾을 수있는 유일한 곳인 것 같습니다.

어떤 제안?

답변:


14

로컬 폴더에도 wsdl 정의가있을 수 있습니다. 당신이해야 할 일은 사용자 정의 모듈을 만드는 것입니다. 사용자 정의 모듈에서 당신은 파일을 추가 할 수 있습니다 api.xml, wsdl.xml그리고 wsi.xml내부 etc폴더에 있습니다.

귀하의 wsdl.xml실제 WSDL을 구축 할 때 파일이 고려되어야한다. 마 젠토는 모든 병합 wsdl.xml하나를 (같은가 간다있는 모든 모듈에서 파일을 api.xml하고 wsi.xml). 이러한 파일은 병합되므로 Mage_Catalog모델 의 전체 xml 파일이 필요하지 않습니다 . 필요한 부분 만 추가 할 수 있으며 동일한 경로를 유지해야합니다.

다음은 간단한 예입니다. 에서 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>

( '...'로 대체 한 태그 정의 및 스키마에 대한 속성을 추가하십시오).


고마워 마리우스. 이 정의를 사용자 정의 모듈에 추가하고 마스터 WSDL 정의에 추가하도록하겠습니다. 레이아웃 및 구성 파일과 비슷한 것으로 생각하지 않았습니다. 마법!
GregC

이것은 정말 편리합니다.
philwinkle

마리우스, bool에서 int로 catalogProductAttributeSetAttributeAdd 응답을 덮어 쓰려고합니다. 그러나 지금은 둘 다를 보여줍니다. 어떻게해야합니까?
Refilon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.