1

Joomlaでテンプレートを作成しました!3x ですが、ページ ヘッダーのデフォルトの JavaScript コードとスタイルシートを削除したいと考えています。

私のコードは次のとおりです。

$doc = JFactory::getDocument();

//Remove default configuration
$doc->setGenerator("");
$headData = $doc -> getHeadData();
unset($headData['metaTags']['http-equiv']);
$doc -> setHeadData($headData);   //Is OK
$doc -> _styleSheets = array();   //Is OK
$doc -> _scripts = array();       //Is OK
$doc -> _script =  array();  **// Not OK**

//Add foundation
$doc->addStyleSheet('templates/'.$this->template.'/css/foundation.css');
$doc->addScript('templates/'.$this->template.'/js/jquery.js');
$doc->addScript('templates/'.$this->template.'/js/modernizr.foundation.js');

テンプレート ヘッダーの HTML は次のようになりました。

function keepAlive() { var myAjax = new Request({method: "get", url: "index.php"}).send();} window.addEvent("domready", function(){ keepAlive.periodical(840000); });
jQuery(document).ready(function() {
    jQuery('.hasTooltip').tooltip({});
});
// The block is not removed

この JavaScript コードを削除するにはどうすればよいですか?

参照ファイル:

  • /libraries/joomla/html/behavior.php
  • /libraries/cms/html/bootstrap.php
4

2 に答える 2

3

JHtml::_('behavior.disable','behavior');特定の動作を削除するために使用

Webやフォーラムには、ユーザーがこれやその動作を削除するように求めている投稿がたくさんあります。それらがビューとコアを介してハッキングする代わりに、次のことが可能になります。

JHtml :: _('behavior.disable'、'特定の動作'); 不要なものを削除するには

シナリオ例

HTMLオーバーライドがツールチップをロードしていないかどうかに関係なく、ツールチップがロードされます。

JHtml::_('behavior.disable','tooltips');テンプレートに配置index.phpすると、これを行うことができ、この方法で、不要なスクリプトからヘッドタグを削除できます。

3.0では、登録からツールチップを削除するだけの場合は、ビューをHTMLオーバーライドにコピーする必要があります。JHtml :: _('behavior.tooltip');を削除します。ファイルから、そしてそれはなくなっています。これはHTMLオーバーライドなしで実行する必要があると思います。

また、2.5.xでは、HTMLオーバーライドを使用しても役に立ちません。ツールチップは残ります。

インストールした他の拡張機能が不要なロード動作である場合、それがどこにあるかを理解するのに時間がかかります。

于 2013-01-04T07:14:23.613 に答える