0

私は Joomla(1.5.14)/Virtuemart(1.1.3) の Web サイトで作業していますが、Virtuemart のカテゴリの説明領域で PHP を使用できないため、いくつかの AdWords コード スニペットを実装する際に問題が発生しました。

これが私が達成したかったことです。

次のように、ウェブサイトのメインの「index.php」ファイルにメインの AdWords スニペットがあります。

<?php if ($HideAdWords != "yes") : ?>

<!-- Google Code for Every user Remarketing List -->
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = ###;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "666666";
var google_conversion_label = "###";
var google_conversion_value = 0;
/* ]]> */
</script>
<?php if ($_SERVER['HTTPS']) { ?>
<script type="text/javascript" src="https://www.googleadservices.com/pagead/conversion.js">
<?php } else { ?>
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js">
<?php }?>

</script>
<noscript>
<div style="display:inline;">
<!--<img height="1" width="1" style="border-style:none;" alt="" src="###"/>-->
</div>
</noscript>

<?php endif; ?>

特定のページに、別の AdWords コードと次の PHP スニペットを含めました。このページを閲覧するときに元のコードをページから削除したいと考えています。

<?php
$HideAdWords = "yes";
?>

これは私が望んでいたことを行いましたが、これを適用する必要があるほとんどのページで PHP を使用できません。Virtuemart のカテゴリの説明に PHP を入力すると、変更を保存すると PHP コードがコメントアウトされ、役に立たなくなります。 .

私はできる限り検索を試み、Joomla/Virtuemart 固有の Web サイト/フォーラムを試しました。これらのカテゴリの説明領域で JavaScript を動作させることができたので、この効果を JavaScript で再現できるかどうか、または皆さんがより良い解決策を考えられるかどうか疑問に思っていました。

私が明確であることを願っています。どんな助けでも本当に感謝しています。

敬具。

*編集: 不特定のタイトルを修正しました。

4

3 に答える 3

1

まあ、あなたはjsでそれを行うことができます、あなたはjsで使うことができます:


//js part included in php file that loads as common file to all, like footer or header
var hideAdWords = "<?php if ($HideAdWords) { echo "yes"; } else { echo "no"; } ?>

これで、js変数hideAdWordsは「yes」または「no」のいずれかになります。そして、それをjs変数として使用できます。そのようなことを意味しましたか

于 2012-04-10T04:41:02.053 に答える
1

JavaScript でこれを行う場合は、メイン ページで次のスニペットを使用します。

<script>
(function() {
  if(window.hideAdWords) return;
  var google_conversion_id = "###",
      google_conversion_language = "en",
      google_conversion_format = "3",
      google_conversion_color = "666666",
      google_conversion_label = "###",
      google_conversion_value = 0;

  document.write(unescape("%3Cscript%20type%3D%22text/javascript%22%20src%3D%22//www.googleadservices.com/pagead/conversion.js%22%3E%3C/script%3E"));
}());
</script>

次に、PHP で次のように記述するだけです。

<script>
  hideAdWords = <?php print ($HideAdWords == "yes" ? 'true':'false'); ?>;
</script>

関数ブロックの前に hideAdWords 行が出力されることを保証できない場合は、関数ブロックを変更して、ページの読み込みが完了したときに起動するイベント ハンドラーにラップされるようにすることができます (この例では jQuery を使用していますが、 addEventListener 呼び出しで同じことを簡単に行うことができます):

<script>
jQuery(function() {
  if(window.hideAdWords) return;
  var google_conversion_id = "###",
      google_conversion_language = "en",
      google_conversion_format = "3",
      google_conversion_color = "666666",
      google_conversion_label = "###",
      google_conversion_value = 0;

  document.write(unescape("%3Cscript%20type%3D%22text/javascript%22%20src%3D%22//www.googleadservices.com/pagead/conversion.js%22%3E%3C/script%3E"));
});
</script>

SSL URL と HTTP URL の唯一の違いはスキーマであるため、プロトコルを削除して URL を二重スラッシュで開始し、現在のページにアクセスした http または https のみを使用できます。

于 2012-04-10T06:51:26.617 に答える
0

Virtuemart の Google アナリティクス拡張機能をいくつかご覧になりましたか?

BIT Virtuemart Google アナリティクス

Virtuemart の Google アナリティクス

私はそれらの経験はありませんが、多くのオプションがあるようです。

于 2012-04-10T18:21:10.007 に答える