web-dev-qa-db-ja.com

</ body>の前にテキスト/スクリプトを追加する方法

</body>タグを閉じる前にテキスト/コード/スクリプトを配置できるコンテンツプラグインはありますか?そのようなプラグインがない場合、その種類のプラグインの作成方法に関するドキュメントはありますか?

4
webchun

プラグインコード

<?php
// no direct access
defined('JPATH_BASE') or die;

class plgSystemMyplugin extends JPlugin
{
    function onAfterRender()
    {
        $app = JFactory::getApplication();

        if ($app->getName() != 'site') {
            return true;
        }

        $buffer = JFactory::getApplication()->getBody();

        $insert = 'insertthis';
        $buffer= str_ireplace('</body>',$insert.'</body>',$buffer);

        JFactory::getApplication()->setBody($buffer);

        return true;
    }
}
3
jdog

Joomlaプラグインを使用する理由次のことを実行できます。

  • テンプレートに位置を追加します(例:templates/template-name/index.php)閉店直前</body> 鬼ごっこ。この位置をcodeと呼びましょう。
  • カスタムHTMLモジュール(現在はカスタムモジュールと呼ばれます)を作成し、スクリプトコードを追加して、codeの位置と適切なページに割り当てます。
  • here の説明に従って、カスタムHTMLモジュールに追加された囲みdivタグを削除します。

私はあなたのシナリオでは、モジュールで十分であり、必要なことを正確に実行するので、実際にはプラグインを使用するべきだとは思いません(プラグインはすべてのページのオーバーヘッドに追加されるため、よりクリーンなアプローチでもあります)。

2
itoctopus