سؤال

أحاول إضافة حقول مخصصة إلى Magento Checkout Onepage. لقد اتبعت مثالًا لا يعمل في 1.4.1 بسبب الانتقال إلى جدول ترتيب ثابت (على ما أظن) http://inchoo.net/ecommerce/magento/adding-a-new-tab-under-one-page-checkout-full-working-module/

يمكنني رؤية علامة التبويب المخصصة في صفحة الخروج مع حقول مخصصة ولكن لا يمكنني حفظ الحقول في قاعدة البيانات.

  • كيف يمكنني إضافة أعمدة إلى جداول الاقتباس والطلب؟ هل يجب أن ينتقل هذا إلى mymod/sql/mymod_setup/mysql4-install-0.1.0.php أو في مكان آخر؟

  • كيف يمكنني حفظ الحقل إلى DB؟ هل أحتاج إلى حفظه إلى الاقتباس أولاً؟ هل أستخدم المراقب أو أي شيء آخر؟ هل أحتاج إلى عنصر في config.xml من الوحدة النمطية الخاصة بي؟http://www.magentocommerce.com/boards/viewthread/19344/

شكرًا

هل كانت مفيدة؟

المحلول

إخلاء المسئولية: لم أتطرق إلى Magento لمدة 6 أشهر. يقال الآن ، إذا نظرت إلى التطبيق/الكود/CORE/MAGE/SAP/SQL/SALES_SETUP/الدليل ، فستجد أمثلة على كيفية تعديل جداول الطلبات. على سبيل المثال ، هنا هو محتوى التطبيق/الكود/CORE/MAGE/SALE/SQL/SALES_SETUP/MYSQL4 الترقية-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'));

تتم تهيئة $ هذا من ما هو موجود في التطبيق/الكود/core/mage/sales/etc/confism mage_eav_model_entity_setup ، فئة الإعداد الافتراضية ، وتجاوز أو إضافة بعض الطرق (لدعم الجدول المسطح على سبيل المثال).

للإجابة على النقطة الأولى (السؤال الأول) ، يمكنك إضافة أعمدة باستخدام طريقة addattribute () من هذه الفئة. والإجابة على السؤال الثاني هي نعم ، ولكن عليك تحديد في ملف config.xml الخاص بالوحدة النمطية التي تريد استخدامها mage_sales_model_mysql4_setup كفئة إعداد. يتم ذلك عن طريق إضافة عنصر XML نفسه الموجود في APP/CODE/CORE/MAGE/SALES/ETC/CONFIG.XML سابقًا (استبدل sales_setup بـ YouRMOD_SETUP). لذلك يمكنك تفريغ قاعدة البيانات الخاصة بك ، وتتحقق من أنها تعمل باستخدام Get_Class ($ this) في ملف MySQL4-install-0.1.0.php ، ثم تقوم باستعادة DB. وتستمر في الكتابة في ملف الإعداد الخاص بك ، وإلهام نفسك مما تراه في الملفات في التطبيق/الكود/core/mage/sales/sql/sales_setup ويجب أن يكون جيدًا! الآن للنقطة الثانية ... لا أعرف ... أتمنى أن تعمل تلقائيًا! حظا طيبا وفقك الله!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top