Titel aus zwei anderen Feldern generieren
Hallo zusammen,
ich habe zurzeit folgendes Problem:
Ich arbeite mit Catalog, um ein Portfolio aufzubauen.
In einem Katalog "Referenzen" besteht ein Item aus:
+ Kunde (kommt aus nem anderen Katalog)
+ Typ (kommt aus nem anderen Katalog)
+ Titel
+ Alias
+ Bild
Das Titel-Feld ist allerdings reichlich überflüssig, da
die Kombination aus Kunde und Typ ausreicht. Daher
ist es für denjenigen, der den Katalog pflegen soll,
unpraktisch, über zwei Select-Felder Kunde und Typ
auszuwählen und dann nochmal alles im Titel-Feld
eingeben zu müssen.
Da das Titel-Feld für das Alias-Feld gebraucht wird,
würde ich jetzt gerne auch den Titel automatisch
aus Kunde und Typ zusammensetzen. Leider funktioniert
das mit entsprechenden Insert-Tags an der Stelle nicht.
Woran kann das liege bzw. wie könnte ein anderer Weg
aussehen?
Viele Grüße
zinky
PS: Wenn das ganze natürlich ohne Titel-Feld geht, sodass
ich das Alias-Feld direkt aus Kunde und Typ generieren kann,
soll mir das natürlich recht sein ^^
Liste der Anhänge anzeigen (Anzahl: 1)
catalogcalcfieldsave
Weil ich das auch brauchte, habe ich da mal eine kleine Erweiterung gemacht, die den Wert des Feldes 'calc' auch mit in der DB abspeichert. Die Spalte ist sowieso schon vorhanden, sie wird ohne diese Erweiterung nur nicht befüllt. Ich hab's noch nicht ins Repository gestellt, da ich sie grad erst fertig habe und noch ein wenig probieren muss. Wäre schön, wenn ihr auch mal Zeit hättet das zu testen.
Contao 2.10.2 (trunk)
Mit dem Feld vom Typ Berechnen kann man auch Strings aus 2 Feldern verketten, ihr müsst euch nur gut mit MySQL-Querys auskennen. Mit dieser Erweiterung wird auch dieser Wert in der DB gespeichert.
Angenommen ihr wollt sowas hier in einem Feld stehen haben: '2012 - Bundesliga' od. '2013 - Regionalliga'. Ihr habt eine Taxonomie 'season' mit 2012, 2013... und eine Taxonomie 'league' mit 'Bundesliga', 'Regionalliga' .... Erzeugt jeweils ein Feld vom Typ 'Auswahl' mit der jeweiligen Taxonomie. Erzeugt jetzt ein neues Feld 'Spielbetrieb' vom Typ 'Berechnen' und tragt diesen Query ein:
Code:
CONCAT((SELECT name from tl_taxonomy WHERE id=season), ' - ', (SELECT name from tl_taxonomy WHERE id=league))
Über die Auswahlfelder wählt ihr jetzt 'Saison' und 'Liga', die Verkettung der beiden Felder wird im Feld Spielbetrieb gespeichert.
--
Sorry, bei der ersten Version fehlte was aus meiner dcaconfig
Nach mit catalogcalcfieldsave berechneten und gespeicherten Werten suchen/filtern?
Hallo Andreas,
vielen Dank für Deinen Einsatz, der für mich just zur Rechten Zeit kam (das passiert hier im Contao-Forum irgendwie ständig - liegt wohl an Eurer riesigen Umtriebigkeit :-)..)
Zur Frage:
Siehst Du - oder jemand anderes - eine Möglichkeit, dass man nun nach Werten/Feldern suchen und filtern kann, die mittels Deiner Methode berechnet und befüllt wurden?
Hintergrund:
Was ich nämlich seit Ende letzter Woche dringend brauche und leider gar nicht hinbekomme, ist folgendes:
In einem Katalog gebe ich - via PHP und Template - im FE eine "Referenznummer" aus, die mittels der "ID" und der Jahreszahl eines Datumfeldes kreiert wird. Nun soll aber nach dieser "Referenznummer" im FE auch gesucht werden können (Freitext). Idealerweise soll auch im BE nach der "Referenznummer" sortiert oder gar gefiltert werden können...
Lösungsversuche:
zunächst habe ich recherchiert, ob man nicht einfach ein Textfeld mittels inserttags befüllen kann; ohne Erfolg.
Dann habe ich mit dem "berechnen"-Feld und CONCAT schon einen Silberstreif gesehen, dann aber gemerkt, dass die Werte a) nicht als Ergebnis gespeichert werden und b) letztlich ja nur Text- und String-Felder durchsucht werden können.
Zumindest für a) scheint Dein Ansatz ja eine Lösung zu bieten.
Was aber ist mit b)?
Wollte heute eigentlich damit einen eigenen Thread aufmachen, habe dann aber Deinen Beitrag mit der Erweiterung gesehen und hänge mich nun erstmal hier ein...hoiffe das ist ok.
Vielen Dank für jeden Tipp..
Schöne Grüße, Stefan
Neue Catalog Version aus dem ER - jetzt klappt das Speichern!
Hallo,
habe den Katalog nun auf ide aktuelle Version gebracht (2.0.0 beta2 build42) und schon hat das Speichern des calc-Feldes mit "catalogcalcfieldsave" geklappt.
Danke, Andreas!
Jetzt geht es also weiter mit der Frage, wie man die Werte im FE per Textsuche suchbar macht.
Ich probier da noch und bercihte ggf. auch von meinen Misserfolgen - am liebsten natürlich den Erfolg ;-)
Außerdem habe ich noch ein Formatproblem mit dem Feld: wie kriege ich raus, welche SQL-Befehle im berechnen-Feld erlaubt sind?
Will aus der ID und einem Datumsfeld eine Kombination "ID / vierstelligeJahreszahl" machen - CONCAT funktioniert natürlich; aber das Jahr kriege ich nichta us dem Datum (DATE_FORMAT hat nicht hingehauen)
...aber letzteres gehört vermutlich in einen eigenen Thread?
Schöne Grüße,
Stefan
Datum formatieren in calc-Feld
Hallo,
Wie kann man nur so SQL-rostig werden??...schäm...:o
Natürlich sollte man die FROM_UNIXTIME für ein solches Datum verwenden... In meinem Fall also: FROM_UNIXTIME(datum,'%Y')
Hmpft... aber viell. kann es ja irgendwer mal gebrauchen (obwohl das hier ja ziemlich versteckt ist)?!
...am Rest wird weitergebohrt...
Schöne Grüße, Stefan
Calc-Feld (oder Ergebnis) such- und findbar machen (im FE)?
Hallo,
nach einem Wochenende mit viel Probierei muss ich mir leider eine Niederlage eingestehen und hier noch mal um Hilfe bitten.
Hat jemand eine Idee, wie ich den Wert eines Berechnen-Feldes für die FE-(Freitext)suche verfügbar machen könnte?
Wie oben beschrieben ist es gelungen,
- in einem "Berechnen"-Feld die Werte zweier anderer Felder, inklusive Datumsformatumwandlung, zu einem neuen Wert zusammenzuführen und
- diesen Wert - dank Andreas Erweiterung - in der Datenbank zu speichern und somit auch
- diesen Wert im BE zum Filtern/Suchen/Sortieren zur Verfügung zu haben.
Ich krieg es aber leider nciht hin, dass nach diesem Wert im FE gesucht werden kann...
Ansätze:
- das Feld via DCA "suchbar" zu machen (s.o.)
- den Wert mittels irgeneinem Trick in ein Textfeld schreiben (inserttags, Skript...)
Ich hoffe sehr, dass mir jemand auf die Sprünge helfen kann.
Danke schön schon mal für's Zuhören ;-)
Schöne Grüße, Stefan
Wie Berechnen-Feld mit Freitextsuche (FE, Catalog-Filter) durchsuchen?
...weil ich gar so verzweifelt bin, versuche ich es noch mal:
Hat niemand eine Idee oder einen Tipp - gerne auch die Lösung - wie obiges Problem angegangen werden könnte?!
Einen eigenen Trhead dazu wollte ich jetzt nicht auch noch aufmachen - oder sollte ich das besser (wg. dem Titel/Thema)?
Ziel: im FE soll bei der Freitextsuche (Filter) auch das - wie oben beschrieben erstellte - Berechnen (calc) Feld berücksichtigt werden.
Danke schön für jede Hilfe hierzu!
Schöne Grüße, Stefan