2012-04-10 10 views
0

Ich arbeite an einer Joomla (1.5.14)/Virtuemart (1.1.3) -Website und habe ein Problem mit der Implementierung einiger AdWords-Codefragmente festgestellt, da PHP in der Kategoriebeschreibung nicht verwendet werden kann Bereiche in Virtuemart.Hilfe zum Ausblenden von Code

Das wollte ich erreichen.

Ich habe die wichtigsten AdWords für die Website in der Haupt ‚index.php‘ Datei-Snippet wie folgt:

<?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; ?> 

Auf bestimmten Seiten enthalten ich einen anderen AdWords-Code zusammen mit dem folgenden PHP-Schnipsel zu wollen das ursprüngliche Stück Code von der Seite entfernen, wenn dieser Seite Surfen im Internet:

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

Dies tat, was ich es auf den meisten Seiten ich dies jedoch wollte müssen bewerbe ich mich nicht in der Lage bin PHP zu verwenden, bei der Eingabe PHP in eine Kategoriebeschreibung in Virtuemart, nachdem Änderungen gespeichert wurden Es kommentiert jeden PHP-Code und macht ihn nutzlos.

Ich habe versucht zu suchen so viel wie ich kann, und versuchte die Joomla/Virtuemart spezifische Websites/Foren. Ich habe es geschafft, dass JavaScript in diesen Kategoriebeschreibungsbereichen funktioniert, also habe ich mich gefragt, ob ich diesen Effekt vielleicht mit JavaScript replizieren kann oder vielleicht eine bessere Lösung?

Ich hoffe, ich war klar, jede Hilfe würde wirklich geschätzt werden.

Mit freundlichen Grüßen.

* bearbeiten: unspezifische Titel behoben.

+0

Könnten Sie nicht einfach den 'if (hideAdWords)' -Block in Javascript schreiben? Sie müssten nur auf die Variable zugreifen und sie irgendwie an Javascript übergeben. – Basti

Antwort

1

Wenn Sie dies in JavaScript tun wollen, diese Schnipsel in Ihrer Hauptseite verwenden:

<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> 

dann Ihre PHP braucht nur schreiben:

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

Wenn Sie nicht garantieren können, dass die Zeile hideAdWords vor dem Funktionsblock gedruckt wird, können Sie den Funktionsblock so ändern, dass er in einen Ereignishandler eingebettet wird, der beim Laden der Seite ausgelöst wird (in diesem Beispiel wird jQuery verwendet) du kannst das leicht machen Gleiche mit einem addEventListener Anruf):

<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> 

Da der einzige Unterschied zwischen dem SSL und HTTP-URLs ist das Schema, können Sie das Protokoll fallen und die URL mit einem doppelten Schrägstrich beginnen, nur die http oder https dass auf die aktuelle Seite zugegriffen wurde.

+0

Danke, dass Sie versuchen, Ihnen zu helfen, ein Lebensretter zu sein! Aber ich kann es nicht zum Laufen bringen, wenn es genau so kopiert wird, wie Sie es geschrieben haben, wird es immer noch auf der Seite ausgedruckt. Sieht so aus: http://img600.imageshack.us/img600/9100/16238576.jpg – iamlolz

+0

Haben Sie die Werte google_conversion_id und google_conversion_label geändert, um die echten Werte zu sein? Wenn sie wirklich drei Hashes sein sollen, müssen sie in Anführungszeichen gesetzt werden (wie oben) – steveukx

+0

Hoppla weiß nicht, wie ich das vermisse, aber es passiert leider immer noch. http://img687.imageshack.us/img687/5091/46287193.jpg – iamlolz

1

Nun, man könnte das in js tun, werden Sie in js verwenden:


//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"; } ?> 

jetzt Ihre js Variable hideAdWords haben kann entweder "Ja" oder "Nein". Und Sie können das als js Variable verwenden. Hast du etwas bedeuten, wie die

+0

Das hört sich so an, als könnte es funktionieren, aber aufgrund meiner Nutzlosigkeit und des Mangels an JS-Kenntnissen kann ich nicht genau herausfinden, wie Sie es implementieren wollen. – iamlolz

0

Haben Sie sich einige Google Analytics-Erweiterungen für Virtuemart angesehen?

BIT Virtuemart Google Analytics

Google Analytics for Virtuemart

Ich habe keine Erfahrung mit ihnen, aber sie scheinen eine Menge von Optionen zu haben.

+0

Vielen Dank für das Posten. Ich habe mir diese angesehen, aber diese Website wird derzeit zu 3DCart migriert, also war ich kurz nach einer schnellen Lösung, da ich nicht glaube, dass ich die gleichen Probleme mit 3DCart haben werde, aber die Zeit wird es zeigen. – iamlolz