it-swarm-id.com

Tambahkan tombol kustom ke komponen backend inti

Apakah mungkin untuk menambahkan tombol kustom (dengan tindakan kustom, tentu saja) ke JToolbar dari komponen Joomla 3 standar (com_contents) (tanpa memodifikasi kode sumber asli?

Latar Belakang: Saya perlu menambahkan tombol ke com_contents layar utama (daftar semua artikel) untuk membuat fungsi surat masif. Saya tentu saja dapat memodifikasi file Joomla standar, tetapi jika saya memodifikasinya, ketika saya memutakhirkan Joomla ke versi baru saya akan kehilangan kustomisasi saya. Tapi, jika entah bagaimana saya dapat menambahkan tombol, saya tidak akan kehilangan perubahan saat memperbarui ...

Dan jika mungkin untuk melakukan ini, bagaimana itu bisa dilakukan? Membuat plugin? Apakah ada tutorial untuk memandu saya melalui pembuatan addon ini?

11
mHouses

Berikut adalah konsep gagasan menggunakan plugin:

Anda perlu membuat plugin sistem (saya tidak membahasnya) dan menggunakan acara onBeforeRender. Di dalam Anda mendapatkan instance dari Toolbar Anda dan menambahkan tombol.

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);
            }
        }
    }
}
10
Valentin Despa

Bekerja dengan cara eksternal, Anda dapat membuat modul Administrator, an plug-in editor-xtd, atau plugin sistem. Dalam kedua kasus, ketika kode Anda dieksekusi, Anda dapat menambahkan beberapa kode Javascript untuk menyuntikkan tombol di lokasi yang diperlukan.

  • modul Administrator, itu akan ditampilkan dalam posisi, misalnya menu . Itu dapat menambahkan apa saja ke semua halaman.
  • plug-in editor-xtd, ini hanya akan ditampilkan sebagai tombol di bawah editor teks. Itu dapat membuka tampilan penuh dari komponen Anda.
  • plugin sistem, ia dapat melakukan apa saja, tetapi tidak memiliki Antarmuka Pengguna dengan sendirinya, seperti kasus-kasus sebelumnya.
4
Anibal