için yeni nitelik ekleme Yeni bir özellik eklemek için müşteriye görünmeyecek bir sipariş eklemek istiyorum. Sadece veritabanında kullanmak ve her sipariş için belirli bir değeri depolamak istiyorum. Siparişi bu değere göre yazdırmak istiyorum. Peki magento'da nasıl bir sipariş özelliği ekleyebilirim? Özellik, siparişin durumu gibidir. Üstelik bu özniteliği yönetici/satış/siparişlerde göstermek istersem bunu nasıl yapabilirim?Magento
Magento
cevap
Siparişinize my_custom_input_field
eklemek ve yöneticinize bir alan eklemek istediğinizde, sipariş sayfası oluşturun (alanı ön tarafa eklemek için sadece giriş alanını ön şablona eklemeniz ve gözlemciyi iki kez kontrol etmeniz gerekir) /app/code/local/MageIgniter/CustomOrderStatus/sql/customorderstatus_setup/mysql4-install-1.1 yılında
<?xml version="1.0"?>
<config>
<modules>
<MageIgniter_CustomOrderStatus>
<version>1.1</version>
</MageIgniter_CustomOrderStatus>
</modules>
<global>
<fieldsets>
<sales_convert_quote>
<my_custom_input_field><to_order>*</to_order></my_custom_input_field>
</sales_convert_quote>
<sales_convert_order>
<my_custom_input_field><to_quote>*</to_quote></my_custom_input_field>
</sales_convert_order>
</fieldsets>
<helpers>
<customorderstatus>
<class>MageIgniter_CustomOrderStatus_Helper</class>
</customorderstatus>
</helpers>
<models>
<customorderstatus>
<class>MageIgniter_CustomOrderStatus_Model</class>
<resourceModel>customorderstatus_mysql4</resourceModel>
</customorderstatus>
</models>
<resources>
<customorderstatus_setup>
<setup>
<module>MageIgniter_CustomOrderStatus</module>
<class>Mage_Sales_Model_Mysql4_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</customorderstatus_setup>
<customorderstatus_write>
<connection>
<use>core_write</use>
</connection>
</customorderstatus_write>
<customorderstatus_read>
<connection>
<use>core_read</use>
</connection>
</customorderstatus_read>
</resources>
<events>
<adminhtml_sales_order_create_process_data_before>
<observers>
<customorderstatus>
<type>singleton</type>
<class>customorderstatus/observer</class>
<method>saveCustomData</method>
</customorderstatus>
</observers>
</adminhtml_sales_order_create_process_data_before>
</events>
<blocks>
<customorderstatus>
<class>MageIgniter_CustomOrderStatus_Block</class>
</customorderstatus>
</blocks>
</global>
</config>
/app/code/local/MageIgniter/CustomOrderStatus/etc/config.xml
yılında. php
<?php
$installer = $this;
$installer->startSetup();
$installer->addAttribute("order", "my_custom_input_field", array("type"=>"varchar"));
$installer->addAttribute("quote", "my_custom_input_field", array("type"=>"varchar"));
$installer->endSetup();
012 /app/code/local/MageIgniter/CustomOrderStatus/Model/Observer.php yılında
class MageIgniter_CustomOrderStatus_Model_Observer
{
public function saveCustomData($event)
{
$quote = $event->getSession()->getQuote();
$quote->setData('my_custom_input_field', $event->getRequestModel()->getPost('my_custom_input_field'));
return $this;
}
}
(Sen çekirdek varsayılan değişiklik yapmak kaçınmalıdır - Bunu etrafında yolda biraz araştırma yapmak gerekir)
/app/design/adminhtml/default/default/template/sales/order/view/info.phtml olarak<?php if($_order->getMyCustomInputField()): ?>
<tr>
<td class="label"><label><?php echo Mage::helper('sales')->__('My Custom Input Field') ?></label></td>
<td class="value"><strong><?php echo $_order->getMyCustomInputField() ?></strong></td>
</tr>
<?php endif; ?>
/app/tasarım/adminhtml/default/default/şablon/satış/amacıyla oluşturmak//form/account.phtml
<input id="my_custom_input_field" name="my_custom_input_field" value="<?php echo Mage::getSingleton('adminhtml/session_quote')->getQuote()->getMyCustomInputField() ?>" class="input-text" type="text">
Bir kod paylaştığınız için teşekkür ederiz. Daha az teknik kişi için arka ofisden tek tıklamayla ekstra ödeme alanları eklemek için bir eklentiden bahsetmek istiyorum. http://www.fmeextensions.com/magento-additional-checkout-attributes-fields.html –
Özel sütuna, ayrıca sales_flat_order_grid tablosuna nasıl yazıyorsunuz/yazıyorsunuz? – user2963379
@ user2963379 ... sales_flat_order –
ekleme özel sipariş niteliklerini birden adımdan oluşur (value="<?php echo Mage...>"
değiştirmek frontend eklemek). İlk olarak, billing.phtml
dosyasına bir metin alanı eklemeniz gerekir. Ardından, bu alanı Alıntı ve Sıralama tablolarına eklemeniz ve Gözlemci sınıfları oluşturmanız gerekir. Bu özniteliği görüntülemek için custom.xm
l ve order.phtml
gibi birkaç dosya daha düzenlenmelidir.
,
- 1. Magento
- 2. Magento
- 3. Magento
- 4. Magento
- 5. Magento
- 6. Magento -
- 7. magento
- 8. Magento
- 9. Magento
- 10. Magento kullanıcı oturumuna Magento dışından nasıl erişilir?
- 11. Magento müşterisinin oturumuna Magento dışından nasıl erişilir?
- 12. Verileri Magento
- 13. Magento 2
- 14. Magento: altbilgi
- 15. Magento Fishpig
- 16. ben aşağıdaki gibi Magento bir kontrol cihazı Magento
- 17. Magento yassı mamul
- 18. Magento Ürün Ağırlığı Birimi
- 19. başka bloğun fonksiyonu Magento
- 20. Magento koleksiyonu özelliği seçmiyor
- 21. Magento: İndirimli fiyat
- 22. Magento ürün kategorisi
- 23. Magento birden veritabanı işlemleri
- 24. Magento addFieldToFilter izin NULL
- 25. magento olayı çalışmıyor
- 26. Magento API, saat diliminde
- 27. Magento arama hatası
- 28. Magento - container1 Nasıl Düzenlenir
- 29. Magento API Günlükleri
- 30. Magento Veritabanı İşlemi
@MJG bakınız: Sorununuzu çözüldü mü? – Rathinam