Ich wollte mal eure VOrschläge/Ideen zu folgendem Projekt einholen:
Ich habe eine Liste von Produkten, sagen wir id 1 bis 10. Der Nutzr soll nun die Möglichkeit haben, sich auf einer Seite nur spezielle Produkte anzeigen zu lassen. Dazu habe ich neben jedem Produkt eine Checkbox. Markiert der Nutzer nun z.B. Produkt 1,2 und 6,
wird die Seite zum Anzeigen der Produkte folgendermaßen aufgerufen:
index.php?id=1&tx_txprodukte_pi1[pid][]=1&tx_txprodukte_pi1[pid][]=2&tx_txprodukte_pi1[pid][]=6
Es wird also pro Produkt eine Variable benötigt.
Da ich ermöglichen will, daß sich der User auf diese Seite ein Bookmark setzt, will ich eigentlich nicht mit Sessions arbeiten.
Nun die Frage: Kann ich aus diesem Pfad mit RealUrl eine schöne URL machen?
Oder gibt es eine bessere Möglichkeit die Produkte zu übergeben?
RealUrl & Liste von Variablen
Hallo Woida,
ich hab mal in einem Projekt wegen der vielen Parameter mit Pipe (|) als Trenner gearbeitet. Das kannst Du dann schön in php mit explode wieder auseinander fummeln.
In Deinem Fall wäre das:
tx_txprodukte_pi1[pid][]=1|2|6
Gruß,
T.
Danke für den Tip, so wär die URL schon schöner, nur arbeite ich ja mit Formularen (Checkboxen):
<input name="tx_txprodukte_pi1[pid][]" type="checkbox" value="" />Produkt 1<br />
<input name="tx_txprodukte_pi1[pid][]" type="checkbox" value="" />Produkt 2<br />
...
und dann sind die URLs halt in der der von mir genannten Form. Wie soll ich die dann in die pipe-Form bringen?
Hallo Woida,
Du kannst auch mit einem js und hidden felder arbeiten. d.h du lenkst den submit auf einen js und liest alle checkboxen ab, trägst sie in ein hiddenfeld, von mir aus mit der pipe methode und machst dein ganzes formular post-method.
Gruß,
T.
das müsstest du in der localconf.php bei den Einstellungen für RealURL lösen.
'postVarSets' => array(
'_DEFAULT' => array (
'index' => array(
array(
'GETvar' => '',
),
),
'article' => array(
array(
'GETvar' => 'tx_ttnews[tt_news]',
),
array(
'GETvar' => 'tx_ttnews[backPid]',
),
),
'category' => array(
array(
'GETvar' => 'tx_ttnews[cat]',
),
),
'neste' => array(
array(
'GETvar' => 'tx_ttnews[pointer]',
),
),
'products' => array(
array(
'GETvar' => 'tx_txprodukte_pi1[pid]',
),
),
),
),
@Tetramatrix: Ich werd etz doch keine Formulare nutzen. Jedes Produkt bekommt einen Link "hinzufügen", bei dem ich das die Produkt-id durch ein '|' dranhäge.
Also wenn zb. Produkt 2 schon ausgewählt ist:
Produkt 1: index.php?id=1&tx_txprodukte_pi1[pid]=2|1
Produkt 2: index.php?id=1&tx_txprodukte_pi1[pid]= // hier wir das Produkt2 wieder abgwählt
Produkt 3: index.php?id=1&tx_txprodukte_pi1[pid]=2|3
Produkt 4: index.php?id=1&tx_txprodukte_pi1[pid]=2|4
@mischa: Das ist die Konfiguration, wenn du jede Variable nur einmal belegt wird. Ich will die Variable x-mal belegen, wobei ich x nicht kenne.
Schön wäre halt dann eine URL à la
produkte/produkt1/produkt2/produkt5.html
wenn ich Produkt 1,2 und 5 ausgewählt hab.
Hi,
dazu musst du für jedes Produkt eine eigene piVar anlegen um das per realurl zu erreichen. Das Problem dabei wird sein das du dann in der flexibilität nicht so frei bist und einfach ein neues Produkt anlegen kannst, denn dann musst du eben die localconf anpassen.
Edit:
Wobei, da fällt mir noch ein das du ja möglicherweise den Conf-Array in deiner Extension dynamisch anpassen kannst. Muss man mal testen inwieweit das funktionabel ist.
Gruss
Ford
Danke, aber ich habe das Problem bereits vor einem Jahr gelöst.
hi,
und wie?
Gruss
Hallo,
ja das würde mich auch interessieren...
woida... please let us know.
gr.
kasper
Naja, ich habs dadurch "gelöst", indem wir nachgedacht haben und beschloßen, das wir das gar nicht brauchen.