標準のJoomla 3コンポーネント(com_contents)のJToolbarにカスタムボタン(もちろんカスタムアクションを含む)を追加することは可能ですかなし元のソースコードを変更しますか?
背景:大量のメール機能を作成するには、com_contents
メイン画面(すべての記事のリスト)にボタンを追加する必要があります。もちろん、標準のJoomlaファイルを変更することはできますが、変更した場合、Joomlaを新しいバージョンにアップグレードすると、カスタマイズが失われます。しかし、どういうわけかボタンを追加できれば、更新時に変更を失うことはありません...
そして、これが可能なら、どうすればできるのでしょうか?プラグインを作成しますか?このアドオンの作成をガイドするチュートリアルはありますか?
プラグインを使用したアイデア案は次のとおりです。
システムプラグインを作成し(私はそれには入りません)、イベント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);
}
}
}
}
外部の方法で作業する場合は、管理者モジュール、editors-xtdプラグイン、またはシステムプラグインを作成できます。どちらの場合でも、コードを実行するときに、JavaScriptコードを追加して、ボタンを必要な場所に挿入できます。