需要帮助隐藏一些代码


Need help hiding some code

我正在开发Joomla(1.5.14)/Virtuemart(1.1.3)网站,由于无法在Virtuemart的类别描述区域中使用PHP,我在实现某些AdWords代码片段时遇到了问题。

这就是我想要实现的目标。

我在网站的主"索引.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特定的网站/论坛。 我设法让 JavaScript 在这些类别描述领域工作,所以我想知道我是否可以用 JavaScript 复制这种效果,或者你们能想到更好的解决方案?

我希望我已经清楚了,任何帮助将不胜感激。

亲切问候。

*编辑:修复了不特定的标题。

如果你想在 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 和 HTTP url 之间的唯一区别是架构,您可以删除协议并以双斜杠开头 url,以仅使用访问当前页面的 http 或 https。

好吧,你可以在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变量。你的意思是这样吗

你有没有看过一些Virtuemart的Google Analytics扩展?

BIT Virtuemart Google Analytics

Google Analytics for Virtuemart

我没有与他们打交道的经验,但他们似乎有很多选择。