Предполагая, что вы хотите добавить mageigniter_sales_person
к вашей базе данных заказа и добавить поле ввода к администратору, создать заказ и отобразить его в подробном представлении заказа
В / app / code / local / MageIgniter / CustomOrderSalesPerson/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<MageIgniter_CustomOrderSalesPerson>
<version>1.1</version>
</MageIgniter_CustomOrderSalesPerson>
</modules>
<global>
<fieldsets>
<sales_convert_quote>
<mageigniter_sales_person><to_order>*</to_order></mageigniter_sales_person>
</sales_convert_quote>
<sales_convert_order>
<mageigniter_sales_person><to_quote>*</to_quote></mageigniter_sales_person>
</sales_convert_order>
</fieldsets>
<helpers>
<customordersalesperson>
<class>MageIgniter_CustomOrderSalesPerson_Helper</class>
</customordersalesperson>
</helpers>
<models>
<customordersalesperson>
<class>MageIgniter_CustomOrderSalesPerson_Model</class>
<resourceModel>customordersalesperson_mysql4</resourceModel>
</customordersalesperson>
</models>
<resources>
<customordersalesperson_setup>
<setup>
<module>MageIgniter_CustomOrderSalesPerson</module>
<class>Mage_Sales_Model_Mysql4_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</customordersalesperson_setup>
<customordersalesperson_write>
<connection>
<use>core_write</use>
</connection>
</customordersalesperson_write>
<customordersalesperson_read>
<connection>
<use>core_read</use>
</connection>
</customordersalesperson_read>
</resources>
<events>
<adminhtml_sales_order_create_process_data_before>
<observers>
<customordersalesperson>
<type>singleton</type>
<class>customordersalesperson/observer</class>
<method>saveCustomData</method>
</customordersalesperson>
</observers>
</adminhtml_sales_order_create_process_data_before>
</events>
<blocks>
<customordersalesperson>
<class>MageIgniter_CustomOrderSalesPerson_Block</class>
</customordersalesperson>
</blocks>
</global>
</config>
В /app/code/local/MageIgniter/CustomOrderSalesPerson/sql/customordersalesperson_setup/mysql4-install-1.1.php
<?php
$installer = $this;
$installer->startSetup();
$installer->addAttribute("order", "mageigniter_sales_person", array("type"=>"varchar"));
$installer->addAttribute("quote", "mageigniter_sales_person", array("type"=>"varchar"));
$installer->endSetup();
в / app/code/local/MageIgniter/CustomOrderSalesPerson/Model/Observer.php
class MageIgniter_CustomOrderSalesPerson_Model_Observer
{
public function saveCustomData($event)
{
$quote = $event->getSession()->getQuote();
$quote->setData('mageigniter_sales_person', $event->getRequestModel()->getPost('mageigniter_sales_person'));
return $this;
}
}
(вам следует избегать внесения изменений в базовые настройки по умолчанию - вам следует провести некоторые исследования)
В/app/design/adminhtml/default/default/template/sales/order/create/form/account.phtml
<input id="mageigniter_sales_person" name="mageigniter_sales_person" value="<?php echo Mage::getSingleton('adminhtml/session_quote')->getQuote()->getMageigniterSalesPerson() ?>" class="input-text" type="text">
В / app / design / adminhtml / default / default / template / sales / order/view/info.phtml
<?php if($_order->getMageigniterSalesPerson()): ?>
<tr>
<td class="label"><label><?php echo Mage::helper('sales')->__('Sales Person') ?></label></td>
<td class="value"><strong><?php echo $_order->getMageigniterSalesPerson() ?></strong></td>
</tr>
<?php endif; ?>
Вы можете получить текущее имя администратора, используя $ _user = Mage :: getSingleton ('admin / session');$ user ['email'] = $ _user-> getUser () -> getEmail ();$ user ['firstname'] = $ _user-> getUser () -> getFirstname ();$ user ['lastname'] = $ _user-> getUser () -> getLastname ();
В вашем PDF-файле вы должны иметь доступ к $ _order-> getMageigniterSalesPerson (), посмотрите @ Добавить пользовательский атрибут в PDF-счет Magento