Добавьте пользовательские поля для оформления оформления в Magento

StackOverflow https://stackoverflow.com/questions/3537725

  •  30-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь добавить пользовательские поля в Magento Checkout WoodSage. Я следовал примеру, который не работает в 1.4.1 из-за перехода на таблицу квартир (я думаю) http://inchoo.net/ecommerce/magento/adding-a-new-tab-under-page-checkout-full-working-module/

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

  • Как добавить столбцы в таблицы цитаты и заказать? Должен ли это перейти к mymod / sql / mymod_setup / mysql4-instate-0.1.0.php или где-то еще?

  • Как мне сохранить поле в БД? Мне нужно сначала сохранить его в цитате? Я использую наблюдатель или что-то еще? Должен ли мне иметь элемент в моем модуле config.xml?http://www.magentocommerce.com/boards/viewthread/19344/

Спасибо

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

Решение

Отказ от ответственности: Я не трогал Magento в течение 6 месяцев. Теперь это сказано, если вы посмотрите в приложение / Code / Core / Mage / Directory / SQL / Sales_setup / Directory, вы найдете примеры того, как изменять таблицы заказов. Например, вот содержание приложения / кода / CORE / MAGE / SALES / SQL / Sales_Setup / mysql4-Upgrade-0.9.12-0.9.13.php (без комментариев за заголовком):

$installer = $this;
/* @var $installer Mage_Sales_Model_Mysql4_Setup */

$installer->addAttribute('quote', 'subtotal', array('type'=>'decimal'));
$installer->addAttribute('quote', 'base_subtotal', array('type'=>'decimal'));

$installer->addAttribute('quote', 'subtotal_with_discount', array('type'=>'decimal'));
$installer->addAttribute('quote', 'base_subtotal_with_discount', array('type'=>'decimal'));

$ Это инициализируется из того, что находится в приложении / Code / Core / Mage / Sales / etc / config.xml После конфигурации / Global / Resources / Sales_Setup / Setup / Class посмотрите в этот класс, и вы увидите его наследовать Mage_eav_model_entity_setup, класс настройки по умолчанию и переопределение или добавление некоторых методов (например, для поддержки плоской таблицы).

Чтобы ответить на вашу первую точку (первый вопрос), вы можете добавлять столбцы с помощью метода Addattribute () этого класса. И ответ на второй вопрос - это да, но вы должны указать в файле config.xml вашего модуля, который вы хотите использовать mage_sales_model_mysql4_setup в качестве класса установки. Это сделано путем добавления одного и того же элемента XML, найденного в приложении / CODE / CORE / MAGE / READES / ETC / CONFIG.XML ранее (заменить Sales_Setup с помощью yourmod_setup). Таким образом, вы бросаете вашу базу данных, вы проверяете ее работы с помощью Get_Class ($ this) в вашем файле mysql4-install-0.1.0.php, а затем вы восстанавливаете свою БД. И вы продолжаете писать в файле установки, вдохновляя себя от того, что вы видите в файлах в приложении / Code / Core / Mage / Sales / SQL / Sales_Setup, и все должно быть в порядке! Сейчас на второй момент ... Я не знаю ... Я надеюсь, что это будет работать автоматически! Удачи!

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