เพิ่มปุ่มที่กำหนดเองให้กับองค์ประกอบแบ็คเอนด์หลัก


11

เป็นไปได้หรือไม่ที่จะเพิ่มปุ่มที่กำหนดเอง (พร้อมการกระทำที่กำหนดเอง) ไปยัง JToolbar ของส่วนประกอบ Joomla 3 มาตรฐาน (com_contents) โดยไม่ต้องแก้ไขซอร์สโค้ดเดิม

ความเป็นมา : ฉันต้องเพิ่มปุ่มลงในcom_contentsหน้าจอหลัก (รายการของบทความทั้งหมด) เพื่อสร้างฟังก์ชั่นเมลจำนวนมาก แน่นอนว่าฉันสามารถแก้ไขไฟล์ Joomla มาตรฐานได้ แต่ถ้าฉันแก้ไขมันเมื่อฉันอัพเกรด Joomla เป็นเวอร์ชันใหม่ฉันจะสูญเสียการปรับแต่งของฉันไป แต่ถ้าฉันสามารถเพิ่มปุ่มใดฉันจะไม่สูญเสียการเปลี่ยนแปลงใด ๆ เมื่ออัปเดต ...

และถ้าเป็นไปได้ที่จะทำสิ่งนี้จะทำอย่างไร? กำลังสร้างปลั๊กอินหรือไม่? มีบทช่วยสอนใดบ้างที่จะแนะนำฉันผ่านการสร้าง addon นี้หรือไม่?

คำตอบ:


10

นี่คือแนวคิดร่างโดยใช้ปลั๊กอิน:

คุณจำเป็นต้องสร้างปลั๊กอินระบบ (ฉันไม่ได้รับเข้าไปในนั้น) onBeforeRenderและใช้งานเหตุการณ์ ข้างในคุณจะได้รับอินสแตนซ์ของ Toolbar ของคุณและต่อท้ายปุ่ม

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

ที่ดี! มันใช้งานได้เหมือนมีเสน่ห์! เพียงคำถามเล็กน้อย: ฉันจะส่งรายการที่เลือกไปยังตัวควบคุมของฉันได้อย่างไร AFAIK ถ้าฉันใช้ฟังก์ชั่น Joomla JS มาตรฐานพวกเขาจะเรียกตัวควบคุม com_content ใช่ไหม
mHouses

1
โปรดถามคำถามนี้เป็นคำถามใหม่
Valentin Despa

4

การทำงานในลักษณะภายนอกคุณสามารถสร้างโมดูลผู้ดูแลระบบเป็นปลั๊กอินบรรณาธิการ XTDหรือปลั๊กอินระบบ ในทั้งสองกรณีเมื่อมีการเรียกใช้รหัสของคุณคุณสามารถเพิ่มรหัส Javascript เพื่อฉีดปุ่มในตำแหน่งที่ต้องการ

  • โมดูลผู้ดูแลระบบก็จะถูกแสดงในตำแหน่งเช่นเมนู มันสามารถเพิ่มอะไรให้กับทุกหน้า
  • editors-xtd plug-in , มันจะถูกแสดงเป็นปุ่มใต้ text editor เท่านั้น มันสามารถเปิดมุมมองแบบเต็มจากองค์ประกอบของคุณ
  • ปลั๊กอินระบบสามารถทำอะไรก็ได้ แต่มันไม่มีส่วนต่อประสานกับผู้ใช้ด้วยตัวเองเช่นกรณีก่อน ๆ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.