Magento - Поля нестандартного заказа - Ошибка учебника? - PullRequest
2 голосов
/ 01 февраля 2012

Я следую учебному пособию, расположенному по адресу:

http://www.magentocommerce.com/wiki/5_-_modules_and_development/how_to_add_custom_field_in_billing_and_shipping_address_in_frontend_and_backend

Там нет упоминания, для какой версии это, но мне меньше года, поэтому я непонять, почему он не должен работать на 1.6.2 (песочница, в которой я тестирую - новая установка, ничего не сделано, кроме изменения пакета / темы).

Однако, после того, как все это собрано, блок адреса выставления счета не работает во время оформления заказа (а также в других областях, где это должно быть видно) и состояния журнала:

2012-01-31T20:46:01+00:00 ERR (3): Warning: led to open stream: No such file or directory  in /var/www/order-add-field/lib/Varien/Autoload.php on line 93
2012-01-31T20:46:01+00:00 ERR (3): Warning: include(): Failed opening 'Mage/Eav/Model/Attribute/Data/.php' for inclusion (include_path='/var/www/order-add-field/app/code/local:/var/www/order-add-field/app/code/community:/var/www/order-add-field/app/code/core:/var/www/order-add-field/lib:.:/usr/share/php:/usr/share/pear')  in /var/www/order-add-field/lib/Varien/Autoload.php on line 93

Итак, я 'Я пришел к выводу, что с настройкой модели что-то не так.В соответствии с руководством, файл config.xml включает в себя (внутри глобального тега):

<models>
    <orderfields>
        <class>Ps_Orderfields_Model</class>             
    </orderfields>      
</models>

В руководстве не указываются модели, которые необходимо настроить, но кажется, что чего-то не хватает.Нужен ли мне файл модели?Сценарий установки mysql, который я предположил, справится с этим ... Это просто шаг, но я не уверен, что именно.

Ответы [ 3 ]

1 голос
/ 20 октября 2012

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

Добавьте класс Mage_Eav_Model_Entity_Setup в конфигурацию настройки модуля в config.xml.

<setup>
    <module>Ps_Orderfields</module>
    <class>Mage_Eav_Model_Entity_Setup</class>
</setup>

Это исправит ошибку, но не приведет к рабочему атрибуту. Используйте этот модуль , чтобы добавить атрибут к адресам Magento. Модуль был протестирован с самой последней версией Magento.

1 голос
/ 01 февраля 2012

Путь во втором сообщении журнала интересен ...

Failed opening 'Mage/Eav/Model/Attribute/Data/.php' for inclusion 

Если вы посмотрите в папку app/code/core/Mage/Eav/Model/Attribute/Data, вы увидите серию файлов, по одному для каждого типа ввода атрибута.,Это заставляет меня думать, что ваш ключ массива 'input' в скрипте установки, то есть следующая строка ...

'input'    => 'text',

... недопустим или отсутствует для одного из ваших атрибутов.Проверьте сценарий установки и, возможно, опубликуйте соответствующие разделы здесь, если вам нужна дополнительная помощь.

0 голосов
/ 05 мая 2014

Я столкнулся с той же проблемой (magento 1.7.0.2). После некоторого исследования я исправляю это, добавляя этот массив параметров к каждому пользовательскому атрибуту в установщике:

 'backend_type'     => 'varchar',
 'frontend_input'   => 'text',

вместо 'type' и 'input' в учебнике.

...