Zurück   WordPress Deutschland Forum > Support > Plugins und Widgets

Antwort
 
Themen-Optionen Ansicht
Alt 29.05.2008, 02:43   #1 (permalink)
PostRank: 0
 
Registriert seit: 29.05.2008
Beiträge: 2
AJAX in Posts: mehrere Parameter mit get unmöglich wegen '&'

Bin dabei eine ganze Page in WordPress reinzuknallen, wobei ich jedoch öfters auch an meine Grenzen stoße wie hier: Habe das "Inline Javascript Plugin" benutzt um JavaScript innerhalb von Posts/Pages benutzen zu können. Über AJAX wird darin eine php-Datei geöffnet:

Code:
mail.open("GET","scripts/getRegister.php?mail="+mailn+"&mode=2",true);
Der Request wird auch ausgeführt, aber Firebug hat mir gezeigt, dass das '&' das die Get-Variablen verbindet zu '&#038' wird und dadurch kann die 2. Variable nicht mehr gelesen werden.
Habe auch mal das '&' mit String.fromCharCode(25) (oder wars 26?) ersetzt, aber da hat WordPress auch was hinzugefügt so, dass die 2. Variable unbrauchbar war.

Ich poste das übrigens hier, weil es außerhalb von WordPress (2.51 btw.) super funktioniert.

Ich will keinen Workaround mit der POST-Methode, da ich den AJAX-kram und die Übergabe von mehreren Variablen oft auf der Page brauchen werde und nicht nur in diesem speziellen Fall.
Hedgehog ist offline   Mit Zitat antworten
Alt 29.05.2008, 09:01   #2 (permalink)
WPD-Team
 
Benutzerbild von marX
 
Registriert seit: 05.10.2006
Beiträge: 7.840
Meiner Ansicht nach hat Code jeder Art nix in Beiträgen zu suchen.

Das Problem ist hier der WP-Editor, der die '&' HTML-konform in & bzw. & umwandelt. Das Verhalten ist für HTML korrekt, für JS natürlich nicht. Ich würde dir empfehlen, den Code nicht direkt in den WP-Editor zu schreiben, sondern per Page Template oder Plugin einzubauen. Z.B. könntest du in deinen Beitrag schreiben:
HTML-Code:
<!--mailopen--> 
und dieses "Tag" per Plugin mit dem gewünschten Code ersetzen. Damit umgehst du die Editor-Filter und der Code kommt unverändert an.
marX ist offline   Mit Zitat antworten
Alt 29.05.2008, 09:55   #3 (permalink)
PostRank: 0
 
Registriert seit: 29.05.2008
Beiträge: 2
Die Lösung via Template-File hört sich ganz gut an, aber bisher habe ich mit diesen nicht viel gemacht. Weiß nicht ob es so der burner wäre alles in ein Plugin zu quetschen, weil es bei der Fülle der verwendeten Php und JS Scripts dann evtl. unübersichtlich werden könnte.
Muss ich dann für jede Page solch eine php-file anlegen wie unten?
Habe zwar da mal nach gelesen:Pages « WordPress Codex
aber sehe nicht ganz durch, wie ich das mit meiner page auf die Reihe kriege.

Code:
<?php
/*
Template Name: Blabla
*/
?>

<?php get_header(); ?>

<div id="content" class="widecolumn">

<div id="main">

<?php include (TEMPLATEPATH . '/meinscript.php'); ?>

</div>
</div>
<?php get_footer(); ?>
Hedgehog ist offline   Mit Zitat antworten
Alt 29.05.2008, 10:25   #4 (permalink)
WPD-Team
 
Benutzerbild von marX
 
Registriert seit: 05.10.2006
Beiträge: 7.840
Du kannst für jede Seite ein Template anlegen, oder eins für alle, oder die page.php verwenden. Je nachdem, wie dein Code aussieht, und welche Änderungen von Seite zu Seite gemacht werden müssen.

Dein Template ist so in Ordnung, bei Schreiben einer Seite kannst du jetzt rechts (WP <2.5) bzw. unten (WP 2.5+) das Seitentemplate mit dem Namen (hier: "Blabla") auswählen und so der Seite zuordnen.

Guck dir in dem Zusammenhang vielleicht auch mal Conditional Tags an, v.a. is_page(). So kannst du in einem mehrfach verwendeten Template oder auch der page.php mehrere Seiten unterscheiden.
marX ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 | Impressum | Ein Inpsyde.com Projekt