মূল ব্যাকএন্ড উপাদানটিতে একটি কাস্টম বোতাম যুক্ত করুন


11

এটা একটি কাস্টম বাটন একটি প্রমিত জুমলা 3 উপাদান (com_contents) এর JToolbar (ক কাস্টম কর্ম, অবশ্যই) যোগ করা সম্ভব ছাড়া মূল সোর্স কোড পরিবর্তন?

পটভূমি : com_contentsএকটি বিশাল মেল ফাংশন তৈরি করতে আমাকে মূল পর্দায় (সমস্ত নিবন্ধের তালিকা) একটি বোতাম যুক্ত করতে হবে। আমি অবশ্যই স্ট্যান্ডার্ড জুমলা ফাইলগুলি সংশোধন করতে পারি, তবে আমি যদি এটি সংশোধন করি, যখন আমি জুমলাটিকে একটি নতুন সংস্করণে আপগ্রেড করব তখন আমি আমার কাস্টমাইজেশনটি হারাব। তবে, যদি আমি কোনওভাবে বোতামটি যুক্ত করতে পারি, আপডেট করার সময় আমি কোনও পরিবর্তন হারাব না ...

এবং যদি এটি করা সম্ভব হয় তবে এটি কীভাবে সম্ভব? একটি প্লাগইন তৈরি করছেন? এই অ্যাডনটি তৈরির মাধ্যমে আমাকে গাইড করার জন্য কোনও টিউটোরিয়াল আছে?

উত্তর:


10

প্লাগইন ব্যবহার করে এখানে একটি খসড়া ধারণা দেওয়া হল:

আপনাকে একটি সিস্টেম প্লাগইন তৈরি করতে হবে (আমি এটিতে পাচ্ছি না) এবং ইভেন্টটি ব্যবহার করার জন্য onBeforeRender। ভিতরে আপনি নিজের সরঞ্জামদণ্ডের একটি উদাহরণ পাবেন এবং বোতামটি সংযোজন করুন।

class PlgSystemCustomtoolbar extends JPlugin
{
    public function onBeforeRender()
    {
        // Get the application object
        $app = JFactory::getApplication();

        // Run in backend
        if ($app->isAdmin() === true)
        {
            // Get the input object
            $input = $app->input;

            // Append button just on Articles
            if ($input->getCmd('option') === 'com_content' && $input->getCmd('view', 'articles') === 'articles')
            {
                // Get an instance of the Toolbar
                $toolbar = JToolbar::getInstance('toolbar');

                // Add your custom button here
                $url = JRoute::_('index.php?option=com_example&task=massemail&format=raw');
                $toolbar->appendButton('Link', 'export', 'Mass Email', $url);
            }
        }
    }
}

গ্রেট! এটি যাদুমন্ত্রের মত কাজ করে! কেবলমাত্র একটি সামান্য প্রশ্ন: আমি কীভাবে নির্বাচিত আইটেমগুলি আমার নিয়ামকের কাছে পাস করতে পারি? আফাইক, আমি যদি স্ট্যান্ডার্ড জুমলা জেএস ফাংশনগুলি ব্যবহার করি তবে তারা কম_ কনটেন্ট নিয়ন্ত্রণকারীকে কল করবে, তাই না?
এমহাউসগুলি

1
এটি একটি নতুন প্রশ্ন হিসাবে জিজ্ঞাসা করুন।
ভ্যালেন্টিন দেশপা

4

বাহ্যিক উপায়ে কাজ করে, আপনি অ্যাডমিনিস্ট্রেটর মডিউল , একটি সম্পাদক-xtd প্লাগ-ইন বা একটি সিস্টেম প্লাগইন তৈরি করতে পারেন । উভয় ক্ষেত্রেই, যখন আপনার কোডটি কার্যকর করা হয়, আপনি প্রয়োজনীয় স্থানে বোতামটি ইনজেকশনের জন্য কিছু জাভাস্ক্রিপ্ট কোড যুক্ত করতে পারেন।

  • প্রশাসক মডিউল , এটি একটি অবস্থানে প্রদর্শিত হবে, উদাহরণ মেনু হিসাবে । এটি সমস্ত পৃষ্ঠায় কিছু যোগ করতে পারে।
  • সম্পাদক-এক্সটিএসডি প্লাগ-ইন , এটি কেবলমাত্র টেক্সট সম্পাদকের অধীনে একটি বোতাম হিসাবে প্রদর্শিত হবে। এটি আপনার উপাদান থেকে একটি সম্পূর্ণ দর্শন খুলতে পারে।
  • সিস্টেম প্লাগইন , এটি কিছু করতে পারে তবে এটির আগের মতগুলির মতো নিজে থেকে কোনও ইউজার ইন্টারফেস নেই।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.