06. 02. 2016, 13:50

Typo3 7.5

Hi,

ich versuche mir den Autor einer Seite zu holen und dann daraufhin ein select zu füllen, dass mit entsprechende IDs zurückgibt.
Ansich geht es aber (auch an vielen anderen Stellen mit ähnlichen Selects) komme ich nicht weiter wenn ich nun 2 Selects aufeinander aufbauen will oder aus anderen Datenquellen das Select bearbeiten will.

Ich habe versucht mit LOAD_REGISTER zu arbeiten, ich habe versucht mit markern zu arbeiten. Klappt alles irgendwie nicht. Aber es muss doch irgendwie möglich sein ein Typoscript Select so anzupassen, dass es mit einer "Variable" funktioniert.

Hier mein code:

  1. // Das gibt mir im Template erfolgreich "neuz8" aus
  2. lib.author = TEXT
  3. lib.author.data = page:author
  4.  
  5. lib.Authornavigation = CONTENT
  6. lib.Authornavigation {
  7. table = be_users
  8. uidInList = 0
  9. pidInList = root
  10. selectFields = be_users.uid as id, be_users.realName as rn, be_users.profile_pid as prid
  11. where = be_users.profile_pid != '0'
  12. andWhere = be_users.realName={lib.author} // Hier gehts nicht...
  13. // Ausprobiert habe ich alle Kombis mit andWhere.data oder lib.author.data,
  14. // mit und ohne geschweifte Klammern,
  15. // mit einem LOAD_REGISTER als Autor,
  16. // mit den unten ausprobierten "markers",
  17. // es will einfach nicht gehen und ich bin mir sicher dass ich einfach nen sau dummen Fehler mache, der total simpel ist weil es gehen müsste
  18.  
  19. //andWhere = be_users.realName='neuz8' < Das hier funktioniert und gibt mir einkommentiert erfolgreich "39" aus, also die ID
  20. andWhere.wrap =
  21. markers {
  22. //author.data = {page:author}
  23. }
  24. }
  25. renderObj = COA
  26. renderObj {
  27. 10 = TEXT
  28. 10.field = prid
  29. 10.wrap2 = ###SPLITTER### |
  30. }
  31. // Das ist nur dazu da das letzte Komma zu verwerfen, manchmal brauch ich daten in einem "SQL IN(...)"
  32. token = ###SPLITTER###
  33. cObjNum = 1 |*| 2 |*| 1
  34. 1.current = 1
  35. 2.current = 1
  36. 2.wrap = |,
  37. }
  38. }

Noch eine Frage, damit ich in Zukunft besser klar komme:
Woher sehe ich z.B. ob ich blub = bla oder blub.cObject = bla.data oder Ähnliches machen muss. Wo kann ich sowas dokumentiert nachlesen ob gewisse Objekte/Eigenschaften/Zeug vorhanden ist, also es durchbrowsen oder so...

Und: Wenn ich so ein select mache und dann z.B. einen String statt nem Int habe und aus versehen merk ichs nicht und dadurch ist die SQL leer oder so. Wie kann ich die ausgeführte SQL z.B. sehen und somit besser debuggen?

------------ Anderes, aber gleiches Beispiel-------------

  1. //uidInList.cObject < lib.ThisNewsID
  2. pidInList = 1
  3. pidInList.field = pages
  4. # set the recursion level
  5. recursive = 250
  6. selectFields = pages.uid pageId
  7. join = sys_category_record_mm ON pages.uid = sys_category_record_mm.uid_foreign
  8. where = sys_category_record_mm.tablenames = 'pages'
  9. andWhere = sys_category_record_mm.uid_local IN (###listofcategories###)
  10. andWhere.insertData=1
  11. markers {
  12. //listofcategories.value = {lib.AlleCategorieIdsDieserNews}
  13. listofcategories.commaSeparatedList = 1
  14. listofcategories.value = 11,12,13,19,5
  15. }
  16. //andwhere = sys_category_record_mm.uid_local IN (11,12,13,19,5) // andwhere kann mit typoscript variablen, where nicht
  17. //andwhere = sys_category_record_mm.uid_local IN ({lib.AlleCategorieIdsDieserNews}) // andwhere kann mit typoscript variablen, where nicht
  18. }

Die auskommentieren Stellen gehen nicht obwohl ich eigentlich dachte so müsste es gehen. {lib.AlleCategorieIdsDieserNews} z.B. gibt genau diese Liste aus Zeile 15 aus, die ich aber damit es funktioniert manuell setze, Aber ich fülle es eben dynamisch um alle Kategorien der grade angezeigten News zu bekommen...