নিশ্চিত না যে আপনি ম্যাজেন্টো বেসিক কার্যকারিতা না বাড়িয়ে আপনি যা চান তা অর্জন করতে পারেন কিনা। আমাকে অনুরূপ কিছু করতে হয়েছিল এবং এটি আমিই করেছি:
প্রথমে আমি অটোমেটিক ক্রেডিটেমোসের জন্য বিক্রয়_ অর্ডার_স্রেডিটেমো_টোটালগুলি আবার লিখলাম (সম্ভবত আপনার এটির দরকার নেই, তাই আপনি দ্বিতীয় অংশে যেতে পারেন):
আমার মডিউল কনফিগারেশন। এক্সএমএল:
<blocks>
<adminhtml>
<rewrite>
...
<sales_order_creditmemo_totals>Bla_Customercredit_Block_Adminhtml_Sales_Creditmemo</sales_order_creditmemo_totals>
</rewrite>
</adminhtml>
<sales>
<rewrite>
...
<order_creditmemo_totals>Bla_Customercredit_Block_Sales_Creditmemo</order_creditmemo_totals>
</rewrite>
</sales>
</blocks>
তারপরে ব্লক / এডমিনটিচটিএমএল / বিক্রয় / ক্রেডিটমেমো.পিপিতে
class Bla_Customercredit_Block_Adminhtml_Sales_Creditmemo extends Mage_Sales_Block_Order_Creditmemo_Totals
{
protected $_code = 'credit';
protected function _initTotals()
{
$helper = $this->getCreditsHelper();
parent::_initTotals();
$baseAmount = $this->getOrder()->getBaseCustomerCredit();
$this->addTotal(
new Varien_Object(
array(
'code' => $this->_code,
'value' => -$creditAmount,
'base_value' => -$baseAmount,
'label' => $helper->__('Bla Credit'),
)
),
'discount'
);
return $this;
}
}
আপনি দেখতে পাচ্ছেন যে আমি গ্রাহকের creditণের সাথে আদেশের জন্য ক্রেডিটেমোস তৈরি করতে এটি করেছি, সুতরাং আমি বিক্রয়_র্ডার_টোটাল এবং বিক্রয়_অর্ডার_ইনওয়য়েস_টোটালগুলিও আবার লিখেছি তবে আমার মনে হয় আপনার এটি করার দরকার নেই।
দ্বিতীয়:
আমি ম্যানুয়াল ক্রেডিটমেমো ক্রিশনের সময় কিছু কার্যকারিতা যুক্ত করতে একটি নিজস্ব টেম্পলেটও যুক্ত করেছি, যাতে অ্যাডমিন কীভাবে এটি উত্পাদন করতে পারে তা স্থির করতে পারে। তার জন্য আমি অ্যাপ্লিকেশন / ডিজাইন / প্রশাসনিক / ডিফল্ট / ডিফল্ট / টেম্পলেট / MODULE_NAME / অর্ডার / ক্রেডিটমেমো / তৈরি / আইটেমস.এফটিএমএল এর অধীনে আইটেমস.এফটিএমএল তৈরি করেছি, আমি এফল্ট মান পরিবর্তন করতে কিছু ইনপুট ক্ষেত্র যুক্ত করেছি। আমি আমার মডিউলটিতে Company_CustomerCredit_Adminhtml_CustomerController এর অধীনে প্রশাসক নিয়ামক হিসাবে যুক্ত করেছি
require_once 'Mage/Adminhtml/controllers/CustomerController.php';
class Bla_Customercredit_Adminhtml_CustomerController extends Mage_Adminhtml_CustomerController
{
/**
* Overload to save customer credits, then call
* parent::saveAction()
*/
public function saveAction()
{
$data = $this->getRequest()->getPost();
if($data && $data['bla_credits'])
{
if(!empty($data['bla_credits']['id']))
{
$model = Mage::getModel('credits/credits')->load($data['bla_credits']['id']);
}
else
{
unset($data['bla_credits']['id']);
$model = Mage::getModel('credits/credits');
}
try
{
$model->setData($data['bla_credits']);
$model->save();
}
catch(Exception $e)
{
}
}
parent::saveAction();
}
}