ক্রেডিট মেমো - 0 টি পণ্য ডিফল্টে ফিরে আসে


13

ক্রেডিট মেমোর জন্য আমার সাধারণ ব্যবহারের ক্ষেত্রে মূল্য সমন্বয় (শিপিং, কোর্টৌসি ছাড় ইত্যাদি সমন্বয়)। এটি বিরল যে আমি এটি মোট ফিরতি জন্য ব্যবহার করছি।

এটি আমার কাছে বিজোড় যে ম্যাগেন্তোর ডিফল্ট আচরণটি হ'ল একটি ক্রেডিটেমেমো সমস্ত পণ্য ফেরত পাঠাচ্ছে এবং সমস্ত শিপিং ফেরত দিচ্ছে। এমনকি যখন রিটার্ন থাকে, শিপিংটিও ফেরত পাওয়া খুব বিরল।

ক্রেডিটমেমো যদি $ 0 এ ডিফল্ট হয় (কোনও পণ্য ফেরত দেওয়া হয়নি এবং কোনও শিপিং ফেরত দেওয়া হয়নি) তবে এটি আরও ভাল (এবং নিরাপদ) হতে পারে যাতে অ্যাডমিনরা কী ফেরত পাবে (ডিফল্টরূপে কিছুই নয়) সে সম্পর্কে স্পষ্ট থাকে। অন্যথায় এটি খুব সহজ, উদাহরণস্বরূপ, শিপিংয়ের অর্থ ফেরতের উদ্দেশ্যে ক্রেডিট মেমো তৈরি করা তবে পুরো অর্ডারটি ফেরত দেওয়া!

এমন কোনও কনফিগারেশন বা কাস্টমাইজেশন রয়েছে যা ক্রেডিটেমেমোকে $ 0 এ ডিফল্ট করতে সহায়তা করে?


কোন উত্তর নেই পুনরায়: কনফিগারেশন সমাধান। এটি কি কোনও এক্সটেনশনের মাধ্যমে সম্পাদন করা যেতে পারে? অর্থাত, ক্রেডিট মেমোতে প্রাথমিক সেটিংস সেট করবেন?

উত্তর:


2

নিশ্চিত না যে আপনি ম্যাজেন্টো বেসিক কার্যকারিতা না বাড়িয়ে আপনি যা চান তা অর্জন করতে পারেন কিনা। আমাকে অনুরূপ কিছু করতে হয়েছিল এবং এটি আমিই করেছি: প্রথমে আমি অটোমেটিক ক্রেডিটেমোসের জন্য বিক্রয়_ অর্ডার_স্রেডিটেমো_টোটালগুলি আবার লিখলাম (সম্ভবত আপনার এটির দরকার নেই, তাই আপনি দ্বিতীয় অংশে যেতে পারেন):

আমার মডিউল কনফিগারেশন। এক্সএমএল:

    <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();
    }
}

ধন্যবাদ, আমি আপনার প্রতিক্রিয়াটির প্রশংসা করি এবং দেখব যে আমি আমার প্রয়োজনীয়তার সাথে আপনার সমাধানটি প্রয়োগ করতে পারি কিনা।
Marke
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.