我想在评论记录中添加一个首字母。就像用户名会自动显示在评论中一样,这样人就不必手动键入。它只会显示自己的用户名。
我在这个问题上找到了两个指南。但是,它只适用于Magento 1.4和Magento 1.7。在我更改了指南中的文件后,它仍然无法正常工作。
有没有办法让它成为现实?
我添加到代码中的内容:
{{1}}
答案 0 :(得分:0)
您需要创建简单的模块并在代码下面编写
app/code/local/Modulenamespace/Modulename/etc/config.xml
<adminhtml>
<events>
<controller_action_predispatch_adminhtml_sales_order_addComment>
<observers>
<modulenamespace_modulename_unique_node>
<class>Your_Module_Model_Observer</class>
<method>controllerActionPredispatchAdminhtmlSalesOrderAddComment</method>
</modulenamespace_modulename_unique_node>
</observers>
</controller_action_predispatch_adminhtml_sales_order_addComment>
<controller_action_predispatch_adminhtml_sales_order_creditmemo_save>
<observers>
<modulenamespace_modulename_unique_node>
<class>Your_Module_Model_Observer</class>
<method>controllerActionPredispatchAdminhtmlSalesOrderCreditmemoSave</method>
</modulenamespace_modulename_unique_node>
</observers>
</controller_action_predispatch_adminhtml_sales_order_creditmemo_save>
<controller_action_predispatch_adminhtml_sales_order_creditmemo_addComment>
<observers>
<modulenamespace_modulename_unique_node>
<class>SSD_Authorizenetcim_Model_Observer</class>
<method>controllerActionPredispatchAdminhtmlSalesOrderCreditmemoAddComment</method>
</modulenamespace_modulename_unique_node>
</observers>
</controller_action_predispatch_adminhtml_sales_order_creditmemo_addComment>
</events>
</adminhtml>
/app/code/local/Modulenamespace/Modulename/Model/Observer.php
function controllerActionPredispatchAdminhtmlSalesOrderAddComment($observer)
{
$history = Mage::app()->getRequest()->getPost('history');
if ($history && isset($history['comment'])) {
$history['comment'] .= $this->_getAppend();
Mage::app()->getRequest()->setPost('history', $history);
}
}
function controllerActionPredispatchAdminhtmlSalesOrderCreditmemoSave($observer)
{
$post = Mage::app()->getRequest()->getPost('creditmemo');
if ($post && isset($post['comment_text'])) {
$post['comment_text'] .= $this->_getAppend();
Mage::app()->getRequest()->setPost('creditmemo', $post);
}
}
function controllerActionPredispatchAdminhtmlSalesOrderCreditmemoAddComment($observer)
{
$post = Mage::app()->getRequest()->getPost('comment');
if ($post && isset($post['comment'])) {
$post['comment'] .= $this->_getAppend();
Mage::app()->getRequest()->setPost('comment', $post);
}
}
protected function _getAppend()
{
$user = Mage::getSingleton('admin/session');
$username = $user->getUser()->getUsername();
return "<br/><br/> Posted by: " . $username;
}