web-dev-qa-db-ja.com

フロントエンドのindex.php(のみ)で記述されたスクリプトを除外する方法

私の「これを共有する」ボタンはindex.phpに記述されているため、エディターのフロントエンドにも直接表示されます。フロントエンド編集を使用している場合、どのようにして(のみ)無効にできますか?

私のtemplate/index.phpで:

<head>
<script type="text/javascript">var switchTo5x=true;</script>
<script type="text/javascript" src="http://w.sharethis.com/button/buttons.js"></script>
<script type="text/javascript" src="http://s.sharethis.com/loader.js"></script>
</head>

<body>
<script type="text/javascript">stLight.options({doNotCopy:true});</script>
<script>
var options={ "publisher": "aef4218e-316d-45b9-9571-fb565e462989", "position": "left", "ad": { "visible": false, "openDelay": 5, "closeDelay":0}, "chicklets": { "items": ["facebook", "Twitter", "email"]}};
var st_hover_widget = new sharethis.widgets.hoverbuttons(options);
</script>
</body>
1
JinSnow

JSロードをif句にラップして、現在のレイアウトが編集レイアウトかどうかを確認できます。このようなもの(テストされていません):

if (JFactory::getApplication()->input->get('layout') != 'edit')
{
    // Load your JS here
}
2
Bakual

コアファイルの変更を回避することをお勧めします。そうしないと、Joomlaが新しいリリースに更新されたときにすべての変更が簡単に失われる可能性があります。

一般的なスクリプトを実装するには、JEDから拡張機能をダウンロードできます http://extensions.joomla.org/sharethis。このオプションは、実績のあるユースケースで構成をサポートするのに最適です。

独自のカスタムスクリプトをインストールする場合は、いくつかの拡張機能もあります。私の個人的な選択はNoNumberのSourcererです http://www.nonumber.nl/extensions/sourcerer

どちらの場合も、フロントエンド割り当ては解決されます。さらに、スクリプトを割り当てるための多くの割り当て条件が利用可能です。

2
Anibal