Неустранимая ошибка: исключение Uncaught SoapFault: [103] Требуется атрибут «include_in_menu» - PullRequest
2 голосов
/ 06 августа 2011

"Неустранимая ошибка: исключение Uncaught SoapFault: [103] Требуется атрибут" include_in_menu "."был выдан, когда я использовал Magento API для создания категории.

В Magento API написано, что мне нужен такой массив,

         array(
            'name'=>'Newopenerp',
            'is_active'=>1,
            'include_in_menu'=>2,
            'available_sort_by'=>'position',
            'default_sort_by'=>'position'
           )

Когда я запускаю свой скрипт в localhost с Magento1.5.1 все выглядит отлично.В то время как на сервере с Magento 1.5.0, это исключение было сгенерировано.Мне интересно, если это вызвано изменением версии.

Я старался изо всех сил, чтобы отладить это, ничего не получил через один день.Я уверен, что это проблема Magento API, возможно, есть другой тип данных для 'include_in_menu' в Magento 1.5.0.

Я действительно хочу знать, что здесь произошло!

PS: Я получил некоторую полезную информацию на http://sourceforge.net/projects/jtlmage/forums/forum/1009350/topic/4028894. Но она не на английском, поэтому я не могу понять, что это значит.Надеюсь, что это полезно для чьей-либо помощи!

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 08 августа 2011

Пожалуйста, перейдите по этому пути "app/code/core/Mage/Catalog/etc/" и откройте этот файл "wsdl.xml".Затем перейдите к этой строке # 187, и вы найдете следующий блок кода для Magento v1.5.0.1: -

<complexType name="catalogCategoryEntityCreate">
    <all>
        <element name="name" type="xsd:string" minOccurs="0" />
        <element name="is_active" type="xsd:int" minOccurs="0" />
        <element name="position" type="xsd:int" minOccurs="0" />
        <element name="available_sort_by" type="typens:ArrayOfString" minOccurs="0" />
        <element name="custom_design" type="xsd:string" minOccurs="0" />
        <element name="custom_design_apply" type="xsd:int" minOccurs="0" />
        <element name="custom_design_from" type="xsd:string" minOccurs="0" />
        <element name="custom_design_to" type="xsd:string" minOccurs="0" />
        <element name="custom_layout_update" type="xsd:string" minOccurs="0" />
        <element name="default_sort_by" type="xsd:string" minOccurs="0" />
        <element name="description" type="xsd:string" minOccurs="0" />
        <element name="display_mode" type="xsd:string" minOccurs="0" />
        <element name="is_anchor" type="xsd:int" minOccurs="0" />
        <element name="landing_page" type="xsd:int" minOccurs="0" />
        <element name="meta_description" type="xsd:string" minOccurs="0" />
        <element name="meta_keywords" type="xsd:string" minOccurs="0" />
        <element name="meta_title" type="xsd:string" minOccurs="0" />
        <element name="page_layout" type="xsd:string" minOccurs="0" />
        <element name="url_key" type="xsd:string" minOccurs="0" />
    </all>
</complexType>

Здесь, если вы будете следовать всем элементам, вы сможете узнать, чтовсе атрибуты / элементы обязательны.

Что касается вашего вопроса, вы правы, что в Magento v1.5.1.0 элемент "include_in_menu" присутствует для того же атрибута.Однако в Magento v1.5.0.1 такого элемента нет в файле "wsdl.xml", и вам потребуется удалить этот элемент из списка элементов массива.

Также я хотел бычтобы вы знали, что я не рекомендую вам добавлять этот элемент в данные "complexType", так как это будет означать, что вы делаете дыры в ядре, и это будет мешать вашему Magento только тогда, когда вы сделаете какую-либо модернизацию вашегоMagento core.

Надеюсь, это поможет.

2 голосов
/ 06 августа 2011

Не должно include_in_menu быть логическим значением, поэтому 1 или 0?

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