Hallo,
ich habe ein Formular. Dieses ist mit object="{demand}" an ein bestimmtes Objekt gebunden, in meinem Fall "demand". Die einzelnen Formularfelder wurden mit property den Eigenschaften zugewiesen. Wenn ich jetzt eine Suche ausführe, kommt auch schön meine Ergebnisliste. Wenn ich dort nun aber einen Link anklicke, möchte ich gerne das das Objekt oder die Eigenschaften mit im Link übergeben werden.
also quasi ?tx_pi1[demand][searchword]=test&tx_pi1[view]=1.
Wie kann ich das machen?
Besten Dank
Hi,
hat keiner einen Rat schade. Also ich bin so langsam aber sicher doch ein wenig enttäuscht von Extbase. Teilweise sind Sachen doch recht kompliziert gelöst. Wenn ich da andere Framworks sehe wie z.B. Lavarel, die doch um einiges besser strukturiert sind. Grad wieder wie in meinem Fall jetzt. Ich habe ein Stinknormales GET Formular. Wenn ich das nun Absende werden zig hidden field Werte mit an Link gehängt. Sieht optisch weniger schön aus und ist in meinem Fall von Kunden auch nicht gewünscht. Aber wie kann man das ausschalten? Keine Ahnung. Dann das nächste Problem. Ich gebe ins Suchfeld einen Suchbegriff ein und erhalte auf der nächsten Seite eine Liste mit Links auf der man nun auswählen kann. Soweit so gut, aber wie übergebe ich nun das Suchwort mit im Link? Ich habe das Formular an ein Object "demand" gebunden und die einzelnen Felder mit proberty gemappt. Und nun möchte ich gerne die Eigenschaft Suchwort vom demand Object mit in dem Link übergeben. Aber wie? Keine Ahnung. Ich wollte jetzt einfach nochmal nachfragen, denn ansonsten muss ich es leider auf dem pi_base Weg umsetzen und warten bis Extbase vorgeschritten ist. Naja, man soll ja nicht nur meckern 🙂 Ansonsten ist T3 ja toll, umsonst und hat super Support.
Ist doch kein Problem, du kannst doch beliebige Parameter mitschleifen. Zeig was du hast (nur das Wesentliche!!!) und evtl. wird dir geholfen. Ohne Code bekommst du in den meisten Fällen keine Hilfestellung 😉
Im Notfall gilt trotzdem (egal ob Fluid oder eine andere Template Engine), in $_GET/$_POST sind alle Parameter vorhanden. Machst du es richtig, erledigt das Mapping Extbase für dich.
Hi, danke. Aber_ $_GET/$_POST geht zwar , ist aber nicht ideal. Dafür gibt es auch getArguemnts(). Es ist ja auch alles richtig gemappt. Ich möchte ja jetzt nur im Link die Eigenschaft "searchword" vom Object "demand" übergeben. Das ich Link-Argumente mit arguments="" übergebe ist auch klar. Aber mit arguments="{demand:demand}" wird ja das komplette Object übergeben, was in dem Fall ja nicht geht, da es keine eindeutige ID hat. Ich bräuchte nun sowas wie: arguments="{demand.searchword : demand.searchword}". Der Link soll dann so aussehen: ?tx_pi1[demand][searchword]=Ich+suche+Dosenbier. Mehr möchte ich doch gar nicht 🙂 Ich wüsste jetzt leider nicht was ich da an Code zeigen sollte 🙁 Danke.
besucher80 schriebIch wüsste jetzt leider nicht was ich da an Code zeigen sollte 🙁 Danke.
sorry und ich weiß leider immer noch nicht was du möchtest 😉
Ich möchte immer noch eine Objekt-Eigenschaft im Link übergeben. Wie schaffe ich es, dass die Eigenschaft "searchword" vom Objekt "demand" im Link übergeben wird? Es muss so in der Art gehen, aber das klappt so nicht:
arguments="{demand.searchword : demand.searchword}".
Vielleicht hat ja ein anderer eine Idee... Wäre cool 8-)
arguments="{demand.searchword : demand.searchword}"
Wo auch immer du diese Arguments brauchst, mehrdimensionale Arrays konstruiert man in Fluid so:
{demand: {searchword : demand.searchword}}
hi,
ah. Das sieht doch schon gut. Klappt einwandfrei.
Darf ich fragen woher du das weißt.
Ist das irgendwo dokumentiert?
Hast Du evtl. einen Link?
Aber 1000 Dank.
Für detailliertere Fehlermeldungen im Installtool die Fehlermeldungen aktivieren.
Dokus gibt´s hier:
http://flow3.typo3.org/documentation/guide/partv/fluidviewhelperreference.html
http://www.mittwald.de/fileadmin/pdf/extbase_fluid.pdf
Ich bin aber meist schnellsten wenn ich mir direkt die Fluid ViewHelper-Klassen angucke. Da sind überall detaillierte Kommentare drin. So ist das halt bei Open Source, da ist nicht immer alles perfekt dokumentiert...
Hi, danke.
Ja OpenSource - Fluch und Segen gleichzeitig 🙂
Aber Dein Tipp war Gold wert. Klappt jetzt super.
Hast Du evtl. noch Tipp zum anderen Problem:
Ich habe ja ein GET Formular. Extbase fügt 2 hidden fields zur Validierung mit ein z.B. __referrer, __hmac. Diese werden natürlich mit an den Link gehängt, was schrecklich aussieht 🙂 Der Link ist gefühlte 5 Kilometer lang. Weiß Du ob und wie man das unterbinden kann. Das diese Felder halt nicht mir übertragen werden?
Stimmt :-)
Guck dir mal den FormViewHelper an. Diese hidden fields sind da fix drin, weil die (man möge mich korrigieren) für die Security benötigt werden. Warum sendest du denn per GET? Mit POST hättest das Prob nicht...
Ja, ich bin auch der Meinung das die hidden fields für die Sicherheit sind. Beim Post war es so, dass wenn was gesucht wurde, und man nun von der Ergebnisseite wieder zur ersten Seite mit dem Browser Zurück Button geht, dann kam ein Fehler. Ausserdem soll für Suchen ja immer GET verwendet werden, und für Login etc. Post. Naja... Schade.
evt. wäre es möglich, dass du die such-form per post an eine "zwischen"-action sendest, dort die get-params die du brauchst zusammenbaust und dann damit nen redirect an die richtige such-action machst.
Hi, hab mir das Formular jetzt ohne den Form-Helper zusammengebaut. Das klappt auch. Jetzt hab ich aber ein neues Problem. Ich habe in meiner alten Extension alle Unterkategorien abgefragt, diese dann in einer Schleife durchlaufen und dort für jede Unterkategorie abgefragt wieviele Firmen dadrunter eingetragen sind. Das Ergebnis war dann:
Unterkategorie 1 200 Treffer
Unterkategorie 2 38 Treffer
Wie kann ich das nun mit Extbase umsetzen? Habt Ihr / Du evtl. ne kleine Anregung?