使用自定义模块将SKU添加到Magento中的sales_flat_报价中
为了将Magento与Moodle(LMS)集成,我需要用户数据和在单个表中购买的物品的SKU。最接近的表格是销售报价表。如果我可以将购买的SKU与之匹配,那么Moodle可以在登录时检查该表,并将购买的课程添加到用户配置文件中 使用,this和this,我成功地创建了一个模块,用于写入测试服务器上的日志。现在它什么都不做了 我在\app\etc\modules\minerva\u moodleConnect.xml中找到了这个:使用自定义模块将SKU添加到Magento中的sales_flat_报价中,magento,moodle,Magento,Moodle,为了将Magento与Moodle(LMS)集成,我需要用户数据和在单个表中购买的物品的SKU。最接近的表格是销售报价表。如果我可以将购买的SKU与之匹配,那么Moodle可以在登录时检查该表,并将购买的课程添加到用户配置文件中 使用,this和this,我成功地创建了一个模块,用于写入测试服务器上的日志。现在它什么都不做了 我在\app\etc\modules\minerva\u moodleConnect.xml中找到了这个: <?xml version="1.0" encoding=
<?xml version="1.0" encoding="utf-8"?>
<config>
<modules>
<minerva_moodleConnect>
<active>true</active>
<codePool>local</codePool>
</minerva_moodleConnect>
</modules>
</config>
真的
地方的
我在\app\code\local\minerva\moodleConnect\etc\config.xml中找到了这个:
<?xml version="1.0" encoding="utf-8"?>
<config>
<modules>
<minerva_moodleConnect>
<version>0.0.1</version>
</minerva_moodleConnect>
</modules>
<global>
<models>
<minerva_moodleConnect>
<class>minerva_moodleConnect_Model</class>
</minerva_moodleConnect>
</models>
<resources>
<minerva_moodleConnect>
<setup>
<module>minerva_moodleConnect</module>
<class>Mage_Sales_Model_Mysql4_Setup</class>
</setup>
</minerva_moodleConnect>
</resources>
<events>
<sales_order_place_after>
<observers>
<minerva_moodleConnect>
<type>singleton</type>
<class>minerva_moodleConnect_Model_observer</class>
<method>registerCourse</method>
</minerva_moodleConnect>
</observers>
</sales_order_place_after>
</events>
</global>
</config>
0.0.1
minerva_moodleConnect_模型
minerva_moodleConnect
Mage_销售_型号_Mysql4_设置
独生子女
minerva_moodleConnect_模型观察者
注册课程
我在\app\code\local\minerva\moodleConnect\model\observer.php中找到了这个:
<?php
class minerva_moodleConnect_Model_Observer
{
public function __construct()
{
}
public function registerCourse(Varien_Event_Observer $observer)
{
// Retrieve the product being updated from the event observer
Mage::log("register course called");
/* @var $resource Mage_Sales_Model_Mysql4_Order */
/*$resource = $observer->getEvent()->getResource();
$resource->addVirtualGridColumn(
'sku',
'sales/flat_quote',
array('sku' => 'sku'),
'sku'
);*/
}
}
我正在使用类似的方法向订单和报价表添加一些字段:
<?php
/* @var $installer Mage_Core_Model_Resource_Setup */
$installer = $this;
$installer->startSetup();
Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID));
$installer = new Mage_Sales_Model_Mysql4_Setup;
$attribute = array(
'type' => 'text',
'backend_type' => 'text',
'frontend_input' => 'text',
'is_user_defined' => true,
'label' => 'External Reference',
'visible' => true,
'required' => false,
'user_defined' => false,
'searchable' => false,
'filterable' => false,
'comparable' => false,
'default' => ''
);
$installer->addAttribute('order', 'ext_reference', $attribute);
$installer->addAttribute('quote', 'ext_reference', $attribute);
$attribute = array(
'type' => 'text',
'backend_type' => 'text',
'frontend_input' => 'text',
'is_user_defined' => true,
'label' => 'License Plate',
'visible' => true,
'required' => false,
'user_defined' => false,
'searchable' => false,
'filterable' => false,
'comparable' => false,
'default' => ''
);
$installer->addAttribute('order', 'licenseplate', $attribute);
$installer->addAttribute('quote', 'licenseplate', $attribute);
$installer->endSetup();
moodle是否需要将其放在同一个表中?sales\u flat\u quote\u项目毕竟包含SKU,因此您应该能够使用查询或视图,不是吗?感谢您的回复。是的,Moodle需要一张表(SKU和用户信息)的所有内容。我得到的一个提示是“它基本上是使用客户数据、产品数据和订单数据创建一个视图表。将所有这些都放到一张整洁的表中”
<?php
/* @var $installer Mage_Core_Model_Resource_Setup */
$installer = $this;
$installer->startSetup();
Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID));
$installer = new Mage_Sales_Model_Mysql4_Setup;
$attribute = array(
'type' => 'text',
'backend_type' => 'text',
'frontend_input' => 'text',
'is_user_defined' => true,
'label' => 'External Reference',
'visible' => true,
'required' => false,
'user_defined' => false,
'searchable' => false,
'filterable' => false,
'comparable' => false,
'default' => ''
);
$installer->addAttribute('order', 'ext_reference', $attribute);
$installer->addAttribute('quote', 'ext_reference', $attribute);
$attribute = array(
'type' => 'text',
'backend_type' => 'text',
'frontend_input' => 'text',
'is_user_defined' => true,
'label' => 'License Plate',
'visible' => true,
'required' => false,
'user_defined' => false,
'searchable' => false,
'filterable' => false,
'comparable' => false,
'default' => ''
);
$installer->addAttribute('order', 'licenseplate', $attribute);
$installer->addAttribute('quote', 'licenseplate', $attribute);
$installer->endSetup();