0

Я работаю над сайтом Joomla (1.5.14)/Virtuemart (1.1.3), и у меня возникла проблема с внедрением некоторых фрагментов кода AdWords из-за невозможности использования PHP в описании категории области в Virtuemart.Нужна помощь скрыть код

Это то, чего я хотел достичь.

У меня есть фрагмент кода основные AdWords в главном «index.php» файл для сайта следующим образом:

<?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, при вводе PHP в описание категории в Virtuemart, при сохранении изменений он комментирует любой PHP-код и делает его бесполезным.

Я попытался найти столько, сколько смогу, и попробовал конкретные сайты/форумы Joomla/Virtuemart. Мне удалось заставить JavaScript работать в этих разделах описания категорий, поэтому мне было интересно, может ли я воспроизвести этот эффект с помощью JavaScript или, может быть, вы, ребята, можете подумать о лучшем решении?

Надеюсь, что я был ясен, любая помощь была бы действительно оценена.

С уважением.

* изменение: фиксированный неспецифический заголовок.

+0

Не могли бы вы просто написать 'if (hideAdWords)' -block в javascript? Вам просто нужно было бы получить доступ к переменной и передать ее javascript. – Basti

ответ

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 URL, это схема, вы можете оставить протокол и начать URL с двойным слэшем просто использовать HTTP или HTTPS к которым осуществляется доступ к текущей странице.

+0

Благодарим вас за помощь в спасении! Однако я не могу заставить его работать, когда вы копируете его точно так, как вы его написали, он все еще распечатан на странице. Похоже на это: http://img600.imageshack.us/img600/9100/16238576.jpg – iamlolz

+0

Вы изменили значения google_conversion_id и google_conversion_label как реальные значения? Если они действительно должны быть тремя хэшами, их нужно будет обернуть в кавычки (как указано выше) – steveukx

+0

Упс не знаю, как я скучаю по этому поводу, но это все еще происходит, к сожалению. http://img687.imageshack.us/img687/5091/46287193.jpg – iamlolz

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. вы имели в виду что-то вроде этого

+0

Похоже, что это может сработать, но из-за моей бесполезности и отсутствия знаний JS я не могу понять, как вы собираетесь ее реализовать. – iamlolz

0

Вы ознакомились с некоторыми расширениями Google Analytics для Virtuemart?

BIT Virtuemart Google Analytics

Google Analytics for Virtuemart

У меня нет опыта работы с ними, но они, кажется, есть много вариантов.

+0

Благодарим вас за отправку. Я действительно смотрел на них, но этот сайт в настоящее время переносится в 3DCart, поэтому я был сразу после быстрого исправления, так как не думаю, что у меня будут те же проблемы с 3DCart, но время покажет. – iamlolz

Смежные вопросы