Re: [TYPO3-german] MySQL -> TS: Select Where Exists
Hallo Peter Am 30.10.2016 um 09:49 schrieb Peter Reinboth: Hallo Dr. Dieter Porth & TYPO3-German-NG, am Freitag, 28. Oktober 2016 schrieb Dr. Dieter Porth: Ein Tutorial zu Fluid für neue TYPO3-Entwickler/Integratoren, dass didaktisch gut Fluid für TYPO3 erklärt, ist mir bislang noch nicht aufgefallen - ich habe aber auch nie intensiv danach gesucht. Vielleicht kann jemand aus dem Forum hier einen Tipp geben. Bisher habe ich noch nicht gelesen, dass man mit FLUID DB Abfragen erstellen kann. Was ist für dich Fluid? Wenn du sagst, nur die gehören zum Fluid, dann hast du in jedem Fall recht. Wenn du aber zubilligst, dass die Extention VHS das Fluid um Viewhelper erweiterst, dann hast du unrecht. Was macht in dem Projekt der viewhelper eine Datenbank-Abfrage per Plugin-Aufruf. Oder nehme aus der 'vhs' den letztendlich seine Datenbankabfrage "return reset($GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', $table, $sqlIdField . ' = ' . $sqlId));" von 'typo3conf\ext\vhs\Classes\ViewHelpers\Resource\Record\AbstractRecordResourceViewHelper.php' erbt. Wenn du zulässt, dass auch selbst programmierte Viewhelper Teil des FLUID-Konzepts sind, dann kannst du auch selbst mit wenigen Zeilen im Viewhelper ein Repository instanzieren und auf die gewünschten Datensätze des Repository zugreifen. So wie der das Ergebnis der Datenbank-Abfrage einer Fluid-Variable zuordnen. Der Viewhelper würde eine Lazy-DB-Abfrage machen. Die Frage ist eher, wie konzeptionell sinnvoll es ist und welche Vor- und Nachteile sich aus einem solchen Vorgehen ergeben. Dafür gibt es bislang, wie schon geschrieben, nach meinem Wissen kein Tutorial. Dieter ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] MySQL -> TS: Select Where Exists
Hallo Philipp, mit 'neuen' TYPO3-Entwicklern/Integratoren meinte ich diejenigen, die kein oder kaum Vorwissen haben. Die Website http://www.typo3lexikon.de/typo3-tutorials.html ist didaktisch sehr gut, weil Stephan es immer sehr gut schafft, Probleme plus Lösung auf ihren didaktisch Kern zu reduzieren. Wenn man großes Vorwissen hat, kann man durch Überfliegen schnell die Stelle finden, welche einen wirklich interessiert. Für Fluid ist mir eine ähnlich Seite bislang nicht untergekommen. Die Dokumentation bei https://fluidtypo3.org/ ist sicher kein didaktisch gutes Tutorial. Ich, als Entwickler, schaue lieber in den Code der jeweiligen Viewhelper der fluidtypo3-Extensions als mir deren Dokumentation anzutun. Vielleicht ist deswegen auch noch nicht klar geworden, welche Templating-Prinzipien sie in dem Projekt verfolgen. Für eine didaktische Templating-Distribution wäre die Extension DCE vielleicht interessant. Die Extension ermöglicht das Anlegen von Fluid-Templates im Backend, so dass man den Lernenenden die didaktisch interessante Möglichkeit bieten kann, dass gerade in Lektion gelernte durch eigene Experimente am Code zu verfestigen. Eine didaktische Gefahr sehe ich vor allem darin, dass der Lernende die Extension später im Produktivbetrieb einsetzen möchte. Die Extension verengt TYPO3 zu stark. Nachteile sind: - dce lässt nur einfache Fluidtemplates zu (rekursives Templating, also Partial im Partial im Partial, geht nicht) - dce als Hemmschuh bei automatischen Deployment (Website-Update), - dce ohne dataProcessing im Fluid-Template, - dce zersplittert HTML-Code in Datenbank und Dateien, - dce ohne template-Fallback ala 'templatepaths.10', - dce macht einfache Einbindung von Content-Elemente anderer Extensions schwierig, - ... Du hast aber sicher recht. Wegen unterschiedlicher Wissensstände kann es nie DAS EINE Tutorial geben. In meiner vorherigen Mail wollte ich diplomatisch bleiben. Ich kenne bislang überhaupt KEIN Tutorial über gutes Templating mit Fluid, wobei dazu bisher nicht bewusst recherchiert habe. Mit besten Grüßen Dieter Am 29.10.2016 um 18:32 schrieb Philipp Gampe: Hi Dieter, Dr. Dieter Porth wrote: >Ein Tutorial zu Fluid für neue TYPO3-Entwickler/Integratoren, dass >didaktisch gut Fluid für TYPO3 erklärt, ist mir bislang noch nicht >aufgefallen - ich habe aber auch nie intensiv danach gesucht. Vielleicht >kann jemand aus dem Forum hier einen Tipp geben. Das hängt so stark von deinem Vorwissen ab, da wird es einfach nicht DAS EINE Tutorial geben. Grüße ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] MySQL -> TS: Select Where Exists
Hallo Dr. Dieter Porth & TYPO3-German-NG, am Freitag, 28. Oktober 2016 schrieb Dr. Dieter Porth: > Ein Tutorial zu Fluid für neue TYPO3-Entwickler/Integratoren, dass > didaktisch gut Fluid für TYPO3 erklärt, ist mir bislang noch nicht > aufgefallen - ich habe aber auch nie intensiv danach gesucht. > Vielleicht > kann jemand aus dem Forum hier einen Tipp geben. Bisher habe ich noch nicht gelesen, dass man mit FLUID DB Abfragen erstellen kann. -- Grüße aus Berlin Peter Reinboth ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] MySQL -> TS: Select Where Exists
Hi Dieter, Dr. Dieter Porth wrote: > Ein Tutorial zu Fluid für neue TYPO3-Entwickler/Integratoren, dass > didaktisch gut Fluid für TYPO3 erklärt, ist mir bislang noch nicht > aufgefallen - ich habe aber auch nie intensiv danach gesucht. Vielleicht > kann jemand aus dem Forum hier einen Tipp geben. Das hängt so stark von deinem Vorwissen ab, da wird es einfach nicht DAS EINE Tutorial geben. Grüße -- Philipp Gampe – PGP-Key 0AD96065 – LFCS TYPO3 CMS Certified Integrator – Certified Developer – Active contributor TYPO3 ... inspiring people to share! ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] MySQL -> TS: Select Where Exists
Hallo Peter, TypoScript nutze ich eigentlich nur noch für Menüs und für einige wenige Service-Dienste, wenn die Fluid-Varianten zu aufwendig sind. Anpassen von http://blog.teamgeist-medien.de/2014/08/datensaetze-aus-einer-mm-tabelle-mit-dem-typoscript-cobject-content-ausgeben.html in Kombination mit slide=1 https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Content/Index.html http://www.typo3wizard.com/de/artikel/das-content-objekt.html könnte vielleicht dein Problem lösen. Aber das erfordert viel Gefrickel und Frustrationstoleranz, da Fehlermeldungen bei TypoScript eher selten sind Als ich mit TYPO3 angefangen habe, war Fluid gerade neu in TYPO3 eingefügt worden. Damals gabe es keine Tutorials für Fluid. Die Dokumentation von https://fluidtypo3.org/documentation/templating-manual/introduction.html setzt schon Wissen voraus, wie man mit Fluid umgeht. Ein Tutorial zu Fluid für neue TYPO3-Entwickler/Integratoren, dass didaktisch gut Fluid für TYPO3 erklärt, ist mir bislang noch nicht aufgefallen - ich habe aber auch nie intensiv danach gesucht. Vielleicht kann jemand aus dem Forum hier einen Tipp geben. Mit besten Grüßen Dieter Am 27.10.2016 um 17:13 schrieb Peter Reinboth: Hallo Dr. Dieter Porth & TYPO3-German-NG, am Donnerstag, 27. Oktober 2016 schrieb Dr. Dieter Porth: Ich glaube nicht, das TypoScript explizit die exists-Anweisung unterstützt. Ich würde daher dein Problem vermutlich in eine Klasse oder methode auslagern, mit statement die Abfrage auf PHP-Ebene durchführen und das Ergebnis über das USER-Object ins TypoScript reinholen, wenn es denn unbedingt sein muss. Wenn du miit Fluid arbeitest, könntest du analog die Abfrage auch ins dataprocessing des Fluidtemplate auslagern, und das Ergebnis direkt in eine Variable schreiben. Leider habe ich bisher von PHP und FLUID so gut gar keine Ahnung. Ich nutze TYPO3 für mich nur privat. Es gibt doch bestimmt einen Umweg dies zu bewerkstelligen. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
[TYPO3-german] MySQL ->TS: select where exists
Hallo zusammen, ich möchte gern eine MySQL anweisung in TS abbilden. Allerdings verstehe ich nicht, wie ich ein Where Exists abbilden kann. Hat da jemand einen Tipp für mich? Konkret geht es um dieses: SELECT mother.title FROM sys_categoryAS mother WHERE exists ( SELECT kind.title FROM sys_category AS kind INNER JOIN sys_category_record_mmAS record ON (kind.uid = record.uid_local) INNER JOIN tx_news_domain_model_news AS news ON (record.uid_foreign = news.uid) WHERE record.tablenames = 'tx_news_domain_model_news' AND kind.parent = mother.uid AND kind.hidden = 0 AND kind.deleted = 0 AND kind.pid IN (53,58,57,56,55,54) AND news.hidden = 0 AND news.deleted = 0 ) AND mother.parent = 0 AND mother.hidden = 0 AND mother.deleted = 0 AND mother.pid IN (53,58,57,56,55,54) order by mother.sorting ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] MySQL -> TS: Select Where Exists
Hallo Dr. Dieter Porth & TYPO3-German-NG, am Donnerstag, 27. Oktober 2016 schrieb Dr. Dieter Porth: > Ich glaube nicht, das TypoScript explizit die exists-Anweisung > unterstützt. Ich würde daher dein Problem vermutlich in eine > Klasse oder > methode auslagern, mit statement die Abfrage auf PHP-Ebene > durchführen > und das Ergebnis über das USER-Object ins TypoScript reinholen, > wenn es > denn unbedingt sein muss. > Wenn du miit Fluid arbeitest, könntest du analog die Abfrage auch > ins > dataprocessing des Fluidtemplate auslagern, und das Ergebnis > direkt in > eine Variable schreiben. Leider habe ich bisher von PHP und FLUID so gut gar keine Ahnung. Ich nutze TYPO3 für mich nur privat. Es gibt doch bestimmt einen Umweg dies zu bewerkstelligen. -- Grüße aus Berlin Peter Reinboth ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] MySQL -> TS: Select Where Exists
Hi Peter, Du möchtest also die Titel alle Oberkategorien haben, deren Nachfolger in Neuigkeiten verwendet werden. Wenn es unbedingt Typoscript sein muss, würde ich mich mit 'slide' beschäftigen. Wahrscheinlich gibt es ein Configuration, die deinen Ansprüchen genügt. Ich glaube nicht, das TypoScript explizit die exists-Anweisung unterstützt. Ich würde daher dein Problem vermutlich in eine Klasse oder methode auslagern, mit statement die Abfrage auf PHP-Ebene durchführen und das Ergebnis über das USER-Object ins TypoScript reinholen, wenn es denn unbedingt sein muss. Wenn du miit Fluid arbeitest, könntest du analog die Abfrage auch ins dataprocessing des Fluidtemplate auslagern, und das Ergebnis direkt in eine Variable schreiben. Mit besten Grüßen Dieter Am 27.10.2016 um 14:44 schrieb Peter Reinboth: Hallo TYPO3-German-NG, ich möchte gern eine MySQL Abfrage in TS portieren. Allerdings scheitere ich schon am Anfang. Ich habe bisher im Netz keinen Hinweis gefunden, wie man ein Select Where Exists in TypoScript abbildet. Kann mir da bitte jemand weiterhelfen? Konkret geht es um folgende SQL Abfrage: SELECT mother.title FROM sys_categoryAS mother WHERE exists ( SELECT kind.title FROM sys_category AS kind INNER JOIN sys_category_record_mmAS record ON (kind.uid = record.uid_local) INNER JOIN tx_news_domain_model_news AS news ON (record.uid_foreign = news.uid) WHERE record.tablenames = 'tx_news_domain_model_news' AND kind.parent = mother.uid AND kind.hidden = 0 AND kind.deleted = 0 AND kind.pid IN (53,58,57,56,55,54) AND news.hidden = 0 AND news.deleted = 0 ) AND mother.parent = 0 AND mother.hidden = 0 AND mother.deleted = 0 AND mother.pid IN (53,58,57,56,55,54) order by mother.sorting ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
[TYPO3-german] MySQL -> TS: Select Where Exists
Hallo TYPO3-German-NG, ich möchte gern eine MySQL Abfrage in TS portieren. Allerdings scheitere ich schon am Anfang. Ich habe bisher im Netz keinen Hinweis gefunden, wie man ein Select Where Exists in TypoScript abbildet. Kann mir da bitte jemand weiterhelfen? Konkret geht es um folgende SQL Abfrage: SELECT mother.title FROM sys_categoryAS mother WHERE exists ( SELECT kind.title FROM sys_category AS kind INNER JOIN sys_category_record_mmAS record ON (kind.uid = record.uid_local) INNER JOIN tx_news_domain_model_news AS news ON (record.uid_foreign = news.uid) WHERE record.tablenames = 'tx_news_domain_model_news' AND kind.parent = mother.uid AND kind.hidden = 0 AND kind.deleted = 0 AND kind.pid IN (53,58,57,56,55,54) AND news.hidden = 0 AND news.deleted = 0 ) AND mother.parent = 0 AND mother.hidden = 0 AND mother.deleted = 0 AND mother.pid IN (53,58,57,56,55,54) order by mother.sorting -- Grüße aus Berlin Peter Reinboth ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german