Zum Inhalt springen

Brauche Hilfe bei meiner Typoscript Ausgabe !!

Erstellt am 13. Januar 2009 · 15 Antworten · letzte Antwort am 17. Januar 2009

Tags: Frage

Marijoman ·

Hallo !!

Ich bräuchte Hilfe bei der Umsetzung meines Typoscriptes. Habe mit einer Frontent Extension und dem Typoscript dazu geschafft, die Daten im Frontent auszugeben. Nur sind nun 3 von den 7 auszugebenden Daten nicht ganz die richtigen. Mit welchen Befehlen kann ich einen Verweis auf verschiedene Tabellen machen ?

Hier mein jetztiges Typoscript :

plugin.tx_sfagobjects_pi4 >
plugin.tx_sfagobjects_pi4 = CONTENT
plugin.tx_sfagobjects_pi4 {
  table = tx_sfagobjects_objects
  select {
         pidInList.field = pages
         orderBy = sorting
         }
         renderObj = COA
         renderObj {
                   10 = TEXT
                   10.field = name
                   10.wrap = <h4> | </h4>
                   20 = RECORDS
                   20.field = type
                   20.wrap = <h4> | </h4>
                   30 = RECORDS
                   30.field = place
                   30.wrap = <h4> | </h4>
                   40 = TEXT
                   40.field = maxpeople
                   40.wrap = <h4> | </h4>
                   50 = TEXT
                   50.field = distancetosea
                   50.wrap = <h4> | </h4>
                   60 = TEXT
                   60.field = price
                   60.wrap = <h4> | </h4>
                   70 = IMAGE
                   70.file {
                   import = uploads/tx_sfagobjects/
                   import.field = images
                   maxW = 431
              }
      }
}

Die jetztige Ausgabe lautet :

Hotel Mare Blue

7

5

8

30

470.00

Bei der Zahl 5 und 7 müsste, aber z.B. Appartment und Olbia stehen. Also das bedeutet, dass die Zahlen für die Städte und den Typ stehen, da es bei den anderen Datensätzen zum Teil die gleichen Werte ausgegibt.

Ich müsste den 20er und 30er TEXT auf die Tabellen tx_sfagobjects_objectregions und tx_sfagobjects_type verweisen, oder die auszugebenden Zahlen in einen TEXT umwandeln. Und beim IMAGE ist auch die Ausgabe nicht vorhanden ?
Ich danke schon für jede Hilfe im Voraus !!

Grüsse Marijoman

just2b ·

auch in dem Forum werde ich dir sagen müssen:

RECORDS != TEXT, hast du dir mal die Konfiguration von RECORDS angeschaut?

georg

Marijoman ·
just2b schrieb

auch in dem Forum werde ich dir sagen müssen:

RECORDS != TEXT, hast du dir mal die Konfiguration von RECORDS angeschaut?

georg

Hallo !!

Also kein Problem, aber da du mir nicht mehr geantwortet hast, musste ich einfach soviel mögliche Lösungsansätze suchen, und somit habe ich den Post auch hier gemacht. Ja habe die Ref studiert, nicht nur die sondern auch schon im Internet gesucht und wenn ich nicht verzweifelt wäre, weil ich anscheinend einen Knopf im Gedankengut habe, würde ich nicht nach Hilfe suchen. Bin nicht einer der auf Hilfe hofft ohne selber zu recherchieren.

Wie meinst du das RECORDS = TEXT ?

Eher so wie im Beispiel nicht oder wie ?

20 = RECORDS
20.source.field = title
20.tables = tx_sfagobjects_type
30 = RECORDS
30.source.field = title
30.tables = tx_sfagobjects_places

Oder gib mir einen Ansatz ? Ich weiss, wie das ist, wenn man selber weiss, wie es geht, ist es einfach.

Grüsse Marijoman

freshman17 ·

Hab ich dich richtig verstanden, du willst aus zwei verschiedenen Tabellen die Daten holen und ausgeben. Wenn dies der Fall ist, wieso löst du es nicht mit COA?

Beispiel:

lib.menu = COA
lib.menu {
  10 = CONTENT
  10 {
    table = tt_content
    select.pidInList = this
    
    renderObj = COA
    renderObj {
      10 = TEXT
      10.field = header
      10.wrap = <h4>|</h4>
    }
  }

  20 = CONTENT
  20 {
    table = tx_templavoila_datastructure
    select {
      pidInList = 7
    }
    renderObj = COA
    renderObj {
      10 = TEXT
      10.field = tstamp
      10.wrap = <h4>|</h4>
    }
  }
}
Marijoman ·

Hallo freshman17 !!

Dank dir tausend mal für deinen Ansatz zum Beitrag meiner Lösung. Leider hat es trotzdem nicht geklappt. Ich bin mir langsam nicht mehr sicher ob es überhaupt geht ?
Muss vielleicht dazu sagen, dass ich selber auch eine Seite in Typo3 aufbaue, und diese gleiche Extension in einem Testlauf auf meiner Testpage eingebaut habe. Da läuft alles wunderbar. Muss aber erwähnen, dass ich dabei die Datensätz in Anschluss an die Extension im Sys Ordner angelegt habe. Und das mit dem Typoscript, welches ich ganz am Anfang des Postings gemacht habe. Bei dieser Extension beim Kollegen ist es ja so, dass da die Datensätze schon vorhanden sind, und ich auch nicht ersehen kann ob es ein String Input oder String Input Advance ist oder wie auch immer er die Datensätze angelegt hat. Ich habe einfach mit phpmyadmin in der Datenbanken die Felder ausgelesen und dann in meinem Typoscript eingebaut. Eben und es gibt ja auch die Felder aus, nur dass diese genau die Werte ausgeben, die da vorhanden sind. Und eben zwei dieser Werte und das Bild bockt. Ich weiss nicht ob du nachvollziehen kannst wie ich dies nun genau meine ?

Aber trotzdem vielen Dank. Wenn du mal Hilfe mit deinem Handy brauchst, kannst du mich auf jeden Fall anfragen, da kann ich dir auf jeden Fall helfen. Will nicht angeben, aber habe schon ein ziemlich grosses Wissen über GSM Bereich.

Grüsse Marijoman

Marijoman ·

Hallo !! 😃

Also bin wieder einen Schritt weiter gekommen, habe es geschafft, das Bild auszugeben. Es hat nur eine weitere Bedingung zum Bild gefehlt. Es war die Bedingung :

import.listNum = 0

:p

So jetzt muss es nur noch schaffen, dass die zwei TEXT Werte, der 20er und 30er, die gewünschten Daten ausgeben. Ich weiss dazu auch schon ein bisschen mehr, nur leider noch nicht wie ausgeben. In der class.tx_sfagobjects_pi4 werden die beiden Werte mit SWITCH auf ein anderes Datenfeld, in einer anderen Tabelle verwiesen. Um es vielleicht besser zu verstehen, werde ich hier im Anschluss die PHP Funktion ausgeben. #angry#

switch($dbtype['title']) {
			case 'Ferienhaus/-wohnung':
				$type = $this->pi_getLL('type_ferienhaus','Ferienhaus/ -wohnung');
				break;
			case 'Appartment-/Hotelanlage':
				$type = $this->pi_getLL('type_appartmentanlage','Appartment-/ Hotelanlage');
				break;
		}

Ich weiss jetzt auch mit Sicherheit, dass diese Werte die ausgegeben werden, die UID's dieser Datenfelder sind. Habe es mit den UID's im Backend verglichen, und es sind die gleichen. Aber jetzt weiss ich noch nicht wie ich diese ansteuern kann, beziehungsweise mit welcher Typoscript Anweisung ich es schaffe, die TEXT Objekte in diese von mir gewünschten Werte umzuwandeln.

Ich setzte hier noch gleich den ganzen Typoscript Code hin um es besser nachvollziehen zu können.

plugin.tx_listtable_pi1 >
plugin.tx_listtable_pi1 = CONTENT
plugin.tx_listtable_pi1 {
             table = tx_sfagobjects_objects
             select {
                     pidInList.field = pages
                     orderBy = sorting
                     }
                     renderObj = COA
                     renderObj {
                               10 = TEXT
                               10.field = name
                               10.wrap = <h4> | </h4>
                               20 = TEXT
                               20.field = type
                               20.wrap = <h4> | </h4>
                               30 = TEXT
                               30.field = place
                               30.wrap = <h4> | </h4>
                               40 = TEXT
                               40.field = maxpeople
                               40.wrap = <h4> | </h4>
                               50 = TEXT
                               50.field = distancetosea
                               50.wrap = <h4> | </h4>
                               60 = TEXT
                               60.field = price
                               70.wrap = <h4> | </h4>
                               70 = IMAGE
                               70.file {
                                        import = uploads/tx_sfagobjects/
                                        import.field = images
                                        import.listNum = 0
                                        maxW = 200
                                        }
                   }
}

Muss sagen, dass trotz allem Zähneknirschen und Kopfschmerzattaken aufgrund der Startschwierigkeiten (Typo3Anfänger seit Dezember 2009) es langsam aber sicher voran geht !!

Also falls mir jemand einen Tipp geben kann, bin ich sehr dankbar !!

Grüsse Marijoman

Marijoman ·

Hallo !!

Also falls sich jemand dieses Posting ansieht und mir einen Rat geben will, bin ich sehr dankbar. Ich bin jedoch seit heute in der Früh um 3 Uhr schon wieder ein bisschen weiter gekommen.
Ich habe es mit Unterstützung eines Tutorials geschafft, die beiden TEXT Objekte im 20er und 30er mit Hilfe einer neuen Extension in der ich eine PHP Funktion einbinde und im weiteren mit der preUserFunc, die Ausgabe der TEXT Objekte in 'HELLO WORLD' und darunter 'Here is the TypoScript passed to the method:' umzuwandeln. Nun versuche ich wie verrückt, die PHP Funktion, wo der Befehl mit der SWITCH und CASE Anweisung des Datenfeldes in ein anderes Datenfeld verwiesen wird, umzusetzen. #angry#
Aber ich werde noch wahnsinnig. Ich bekomme keine Ausgabe. Ich weiss es muss irgendwie gehen.
Hier mein Typoscript :

plugin.tx_listtable_pi1 >
plugin.tx_listtable_pi1 = CONTENT
plugin.tx_listtable_pi1 {
             table = tx_sfagobjects_objects
             select {
                     pidInList.field = pages
                     orderBy = sorting
                     }
                     renderObj = COA
                     renderObj {
                               10 = TEXT
                               10.field = name
                               10.wrap = <div class="listtitle"> | </div>
                               20 = TEXT
                               20.field = 'type'                              
                               20.preUserFunc = tx_myphpext_pi1->main 
                               20.wrap = <div class="special"> | </div>
                               30 = TEXT
                               30.field = place
                               30.preUserFunc = tx_myphpext_pi1->main 
                               30.wrap = <div class="special"> | </div>
                               40 = TEXT
                               40.field = maxpeople
                               40.wrap = <div class="special"> | </div>
                               50 = TEXT
                               50.field = distancetosea
                               50.wrap = <div class="special"> | </div>
                               60 = TEXT
                               60.field = price
                               60.wrap = <div class="special"> | </div>
                               70 = IMAGE
                               70.file {
                                        import = uploads/tx_sfagobjects/
                                        import.field = images
                                        import.listNum = 0
                                         maxW = 200
                                        }
                               70.wrap = <div class="image"> | </div>
                               70.imageLinkWrap = 1
                               70.imageLinkWrap {
                                                 enable = 1
                                                 bodyTag = <body bgColor=white leftmargin=0 topmargin=0 marginwidth=0 marginheight=0>
                                                 wrap = <a href="javascript:close();"> | </a>
                                                 width = 800m
	                                         height = 600
	                                         JSwindow = 1
	                                         JSwindow.newWindow = 1
	                                         JSwindow.expand = 0,0
                                                 }
                      }
}

Und jetzt versuche ich angestrengt, aus der einen Datenbank class.tx_sfagobjects_pi4.php in meine neue PHP Funktion class.tx_myphpext_pi1.php, den richtigen Befehl zu übernehmen. Aber es ist zum aus der Haut fahren. #angry#

Falls mir jemand helfen kann, obwohl ich weiss mir ist schon lang nicht mehr zu helfen, denn schon seit 2 Wochen sitze ich an dieser aus der Haut fahrenden Sachen, bin ich demjenigen zu tiefsten Dank verpflichtet, denn der rettet mir das Leben (sonst spring ich aus dem Fenster) !!! #angry#

Grüsse Marijoman

just2b ·

Hallo,

nana wer wird da denn drohen?

plugin.tx_sfagobjects_pi4 >
plugin.tx_sfagobjects_pi4 = CONTENT
plugin.tx_sfagobjects_pi4 {
  table = tx_sfagobjects_objects
  select {
         pidInList.field = pages
         orderBy = sorting
         }
         renderObj = COA
         renderObj {
                   10 = TEXT
                   10.field = name
                   10.wrap = <h4> | </h4>
                   20 = RECORDS
                   20 {
									 	tables = tx_sfagobjects_type
										 source = type
										 tx_sfagobjects_type.conf = TEXT
										 tx_sfagobjects_type.conf.field = fieldname
									 	
                   	stdWrap.wrap = <h4> | </h4>
                   }
                   30 = RECORDS
                   30.field = place
                   30.wrap = <h4> | </h4>
                   40 = TEXT
                   40.field = maxpeople
                   40.wrap = <h4> | </h4>
                   50 = TEXT
                   50.field = distancetosea
                   50.wrap = <h4> | </h4>
                   60 = TEXT
                   60.field = price
                   60.wrap = <h4> | </h4>
                   70 = IMAGE
                   70.file {
                   import = uploads/tx_sfagobjects/
                   import.field = images
                   maxW = 431
              }
      }
}

statt fieldname musst den namen des feldes eingeben, in dem der titel steht

Georg

Marijoman ·

Hallo Georg !! #giggle#

Ja, du kannst gut reden. Nicht dass ich wirklich springe, aber sonst werde ich verrückt, weil irgendwie mich irgendwas verfolgt. Ich danke dir wirklich für deine Bemühungen. Aber leider ist es wieder mal nichts draus geworden. Ich habe auch um deine Bedenken in meine Fähigkeiten dies umzusetzen, nicht nur deine übernommen, sondern auch z.B.: #angry#
Das fieldname mit dem title Feld ersetzt, um sicher zu gehen, habe ich dann im weiteren beim source Befehl den fieldname eingesetzt und anders rum den fieldname Befehl auf source gesetzt und viele weitere Beispielmöglichkeiten aus den Beispielen unter den TSRef Befehlen angepasst. #angry#
Aber nichts hilft. Ich werde versuchen, dies mit dem PHP Script umzusetzen, da ja dieses auch von PHP weitergeleitet wird. Kleines Beispiel zur Schwierigkeit von Typoscript richtig umzusetzen, ist dass du ja das oberste Beispiel genommen hast, wo die Bildausgabe auch nicht umgesetzt wurde, dieses konnte ich durch Glück von einem Beispiel entnehmen und siehe da die Bilder waren da. Aber ich möchte nicht unbedingt auf mein Glück setzen. Habe die letzten zwei Wochen nicht all zu viel davon gehabt. #angry#

Also ich danke dir für deine Bemühungen und falls du mal mit deinem Handy ein Problem hast, kannst du mich jederzeit anfragen.

Grüsse Marijoman 🙂

Marijoman ·

Hallo !! 🙂

Also zuerst einmal wollte ich es gar nicht versuchen, da ich es so auch schon versucht hatte, und da hat irgendwie etwas nicht geklappt. Ich wollte dich auch nicht korrigieren, da das .conf am Ende vor dem Wert auch nicht ganz stimmte. Es gehört an den Anfang.
Doch wie ich bin versuchte ich es nochmal und änderte es so wie es eben richtig ist und siehe da : Eine richtige Ausgabe der Werte, die ich benötige !!
#giggle#
Will dir tausend mal danken. Wenn du mal Hilfe mit dem Handy brauchst einfach melden. Wir schauen dann gemeinsam wie wir dies am kostengünstigsten lösen können.
Will dazu sagen, du grosses Freund von Marijoman !!
Hurra, hurra, ich kann wieder schlafen und essen, darf mich wieder bei meinem Freund melden und muss mich nicht schämen. 8-)

Also um es nachvollziehen zu können für andere hier mein Typoscript Code, der auch geht :

plugin.tx_sfagobjects_pi4 >
plugin.tx_sfagobjects_pi4 = CONTENT
plugin.tx_sfagobjects_pi4 {
  table = tx_sfagobjects_objects
  select {
         pidInList.field = pages
         orderBy = sorting
         }
         renderObj = COA
         renderObj {
                   10 = TEXT
                   10.field = name
                   10.wrap = <h4> | </h4>
                   20 = RECORDS
                   20 {
                       tables = tx_sfagobjects_type
                       source.field = type
                       conf.tx_sfagobjects_type = TEXT
                       conf.tx_sfagobjects_type.field = title                                                     
                       stdWrap.wrap = <h4> | </h4>
                       }
                   30 < 20
                   30.field = place
                   30.wrap = <h4> | </h4>
                   40 = TEXT
                   40.field = maxpeople
                   40.wrap = <h4> | </h4>
                   50 = TEXT
                   50.field = distancetosea
                   50.wrap = <h4> | </h4>
                   60 = TEXT
                   60.field = price
                   60.wrap = <h4> | </h4>
                   70 = IMAGE
                   70.file {
                   import = uploads/tx_sfagobjects/
                   import.field = images
                   import.listNum = 0
                   maxW = 200
              }
      }
}

Ich muss jetzt nur noch das gleiche auf das 30er Objekt übertragen, habe ich hier im Typoscript nicht gemacht.
Also wenn du willst, ich nehme dich gerne als Freund auf damit du auch mal meine Hilfe in Anspruch nehmen kannst. Musst keine Angst haben, bin kein Quälgeist der dich non-stop um Hilfe fragt. Ich bin auf guten Weg, Knopf ist aufgegangen.

Grüsse Marijoman 🙂

Marijoman ·

P.S. : Noch als Beilage, das 30er Objekt mit Typoscript Code erweitern :

30 < .20

Ich danke allen die sich die Mühe gemacht haben. Ich schliesse diesen Post somit !! 🙂
Aber besonderer Dank geht an just2b !!

Grüsse Marijoman 8-)

Marijoman ·

Hallo !! 🙂

Ja, kannst du machen. Also keine Scheu einfach fragen, wenn du mal etwas hast.
Noch eine Frage zum Forum, wie sieht es hierbei mit den Sicherheitslücken aus ?
Würdest du empfehlen ein Forum zu kaufen oder selber eins in Typo 3 zu erstellen. Es gibt drei Möglichkeiten für mich vBulletin, Woltlab WBB3 oder selber in Typo 3 zu erstellen. Ich frage, da dieses Forum ja sichrlich auch selber erstellt wurde in Typo 3 von dir oder Admin !!

Grüsse Marijoman 🙂

just2b ·

Hallo,

an die Features von einem vB kommt das mm_forum nicht ran, dafür ists halt gleich in TYPO3. Kommt also ziemlich drauf an was du vorhast. aber mach dazu bitte einen eigenen Thread auf

georg

Marijoman ·

Hallo !! 🙂

Ah, o.k. !! Das ist also die mm-Extension ? Ich dachte eben, der Ersteller hätte das ganze Forum von Anfang bis zum Ende selber gemacht. Aber ist auch gut. Also werd ich machen. Aber heut und morgen nicht mehr. Muss für meinen Freund die Seite noch beenden. Das heisst, noch den Link auf die weitere Seite einfügen und dann die CSS Datei bearbeiten. 🙂

Aber Montag oder Dienstag, wenn ich wieder ein bisschen mehr Zeit habe werde ich gern ein Post dazu machen. Es wundert mich schon wie das mit den Sicherheitsperspektiven aussieht. Habe eben auch schon gelesen im Netz, dass grosse Foren mehr betroffen sind, da der Source da auch intressanter für Hacker ist, da der Source für ein Typo3 Forum immer anders ist, kann der nicht weiter angewandt werden, und somit ist es viel Arbeit für wenig Möglichkeiten. Aber mal schauen. 🙂

Dank dir trotzdem.

Grüsse Marijoman