ページが読み込まれたときにJoomlaにいくつかのコードを挿入したいと思います。joomlaのonAfterRenderをプラグインではなくモジュール用に使用できますか?
私はこのためにコードを挿入するモジュールを作成しました。
私は
<?php
// $Id: helper.php
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');
jimport('joomla.environment.response');
class modInsertCode
{
function onAfterRender($params)
{
$code = 'some code';
$documentbody = JResponse::getBody();
$documentbody = str_replace ("</body>", $code." </body>", $documentbody);
JResponse::setBody($documentbody);
return true;
}
}
?>
を使用しようとしているが、JResponse :: getBody()しています。空の文字列を返します。任意のアイデア、このコードに対する修正の解決策? HTML応答がモジュールのコードが実行されます時間によって生成されていないので、
は、モジュールを使用してそれを行うことはできません、あなたがプラグインを使用してそれをしなければならない
アルギモが正しいです。フレームワークが実行される順序を見ると、モジュールはHTMLがビルドされる前に実行され、プロセスのレンダリング後のステップには入りません。プラグインを使用するには、これをプラグインで実行する必要があります。 –
ありがとう! – IberoMedia