需要帮助隐藏一些代码

时间:2012-04-10 01:57:07

标签: php javascript joomla content-management-system virtuemart

我正在使用Joomla(1.5.14)/ Virtuemart(1.1.3)网站,由于无法在Virtuemart的类别说明区域中使用PHP,我在实施某些AdWords代码段时遇到了问题。< / p>

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

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

我希望我已经清楚了,任何帮助都会非常感激。

亲切的问候。

*编辑:修复非特定标题。

3 个答案:

答案 0 :(得分: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可以有“是”或“否”。你可以将它用作js变量。 你的意思是那样吗

答案 1 :(得分: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和HTTP网址之间的唯一区别是架构,您可以删除协议并使用双斜杠启动网址,以便仅使用当前页面已访问过的http或https。

答案 2 :(得分:0)

您是否看过Virtuemart的某些Google Analytics扩展程序?

BIT Virtuemart Google Analytics

Google Analytics for Virtuemart

我对他们没有经验,但他们似乎有很多选择。