web-dev-qa-db-ja.com

JHtml(HTMLHelper)クラスのメソッドをオーバーライドする

私はカスタムJoomlaテンプレートを開発しており、unset jQueryやBootstrap in the template's index.php

ここでの問題は、コア拡張がBootstrapの機能の一部を呼び出すことです。

JHtml::_('tooltip', $tooltip, $options);

Bootstrapライブラリを呼び出し、unsetは、呼び出される前にファイルを削除しようとしたため、機能しません。

したがって、JHtmlBootstrapクラスのいくつかのメソッドをオーバーライドして、次のように何も返さないようにします。

abstract class JHtmlBootstrap
{
    public static function tooltip() {
        return;
    }
}

プラグインを作成する必要があることはわかっていますが、最善の方法はわかりません。

2
Lodder

システムプラグインを作成し、JHtml::register()を使用してカスタムメソッドを登録します。

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Plugin\CMSPlugin;

class PlgSystemExample extends CMSPlugin
{
    public function onAfterInitialise()
    {
        HTMLHelper::register('bootstrap.tooltip', array(__CLASS__, 'noTooltips'));
    }

    public static function noTooltips()
    {
    }
}
3
Sharky