Zum Inhalt springen

Content Element einer anderen Seite ausgeben lassen

Erstellt am 24. April 2013 · 6 Antworten · letzte Antwort am 29. April 2013

Tags: Inhaltselemente, JavaScript & AJAX, Frage

Unbekannter Benutzer ·

Um mein Vorhaben zu verdeutlichen versuche ich das mal zu erklären.

Auf der Home (Startseite id=12903) befindet sich ein Content Element das ein Bild eines Videos enthält. Klickt man auf dieses Bild wird per jquery ein Div eingeblendet. In dem Div soll dann das Content Element einer anderen Seite (id=13422) ausgegeben werden. Die andere Seite enthält das Video.

http://rapid.gds-hosting.net/index.php?id=12903

Im dunkelgrauen Balken ist das das linke Bild!

Wie Ihr seht wird mir bereits die Seitenid ausgegeben. Ich habe im Content Element (Bild) der Startseite die Seite mit dem Video als Header Link angegeben.

Hier der entscheidende TS Schnippsel. Hier müsste noch die Ausgabe des Richtigen Content Elementes hin.

tmp.MYVIDEO = CONTENT
tmp.MYVIDEO.table = tt_content
tmp.MYVIDEO.select {
  orderBy = sorting
  where = colPos = 1
}
tmp.MYVIDEO.renderObj = COA
tmp.MYVIDEO.renderObj {
  10 = TEXT
  10.field = header_link
// Bis hier klappt es, die id wird ausgegeben //
  10.dontCheckPid = 1
  10.table = tt_content
  10.select {
    orderBy = sorting
    where = colPos = 1
  }

Ich komme nicht drauf und bräuchte das ganz dringend. Kann mir jemand einen Tipp geben wie ich weiterkomme?

toifel ·

Das cObj TEXT hat nicht die selben Funktionen wie das CONTENT Objekt - TEXT.table usw. gibt es also gar nicht.

Der 2. Teil müsste (sofern ich das richtig verstanden habe) so aussehen:

tmp.MYVIDEO.renderObj = COA
tmp.MYVIDEO.renderObj {
  10 = CONTENT
  10.table = tt_content
  10.select {
    pidInList.data = field:header_link //hier den link als PID übergeben
    orderBy = sorting
    where = colPos = 1
  }
  10.renderObj = ......
}
Chrissli ·

Da das Video vermutlich auf einer anderen Seite deiner Installation liegt, könntest du auch einfach das Bild verlinken.
Und dann per jQuery bei Klick auf das Bild via AJAX die Seite oder das Video von der verlinkten Seite holen z.b. als Lightbox o.ä.
Das hätte den Vorteil, dass auch Menschen wie ich ( die Javascript deaktiviert haben ) zumindest auf die Videoseite kommen.
So im Sinne von Barierrefreiheit und so.

Unbekannter Benutzer ·

Erst einmal Danke für den neuen Lösungsansatz! ;-)

Das ich mit TEXT nicht weiterkomme ist mir gestern noch klar geworden. Ich will ja auch keinen Text ausgeben!
Ich habe es momentan soweit laufen.

tmp.MYVIDEO = CONTENT
tmp.MYVIDEO.table = tt_content
tmp.MYVIDEO.select {
  orderBy = sorting
  where = colPos = 1
}
tmp.MYVIDEO.renderObj = COA
tmp.MYVIDEO.renderObj {
  10 = CONTENT
  10.table = tt_content
  10.select {
    pidInList.data = field:header_link
    orderBy = sorting
    where = colPos = 1
  }

Wenn ich:

#10 = TEXT
#10.data = debug:data

ausgeben lasse, zeigt es mir aber die Debug Daten der ersten Seite an.
Da ich relative wenig mit TS mache fallen mir solche Dinge immer etwas schwer. Vor allem der Fall hier.
Ich hänge gerade hier:

10.renderObj

Ich bin gerade auf der suche wie es hier dann weitergeht.

Unbekannter Benutzer · · Beste Antwort
Chrissli schrieb

Da das Video vermutlich auf einer anderen Seite deiner Installation liegt, könntest du auch einfach das Bild verlinken.
Und dann per jQuery bei Klick auf das Bild via AJAX die Seite oder das Video von der verlinkten Seite holen z.b. als Lightbox o.ä.
Das hätte den Vorteil, dass auch Menschen wie ich ( die Javascript deaktiviert haben ) zumindest auf die Videoseite kommen.
So im Sinne von Barierrefreiheit und so.

Ja Du hast schon recht, das wäre besser, aber mein Kunde will das so haben! :-)

Unbekannter Benutzer ·
tmp.MYVIDEO.renderObj = COA
tmp.MYVIDEO.renderObj {
  10 = CONTENT
  10.table = tt_content
  10.select {
    pidInList.data = field:header_link
    orderBy = sorting
    where = colPos = 1
  }

Eigentlich sollte das hier doch reichen um auf den Link zu kommen, oder?

Unbekannter Benutzer ·

Wenn es interessiert.

Hier die Lösung:

tmp.subPagesIds = CONTENT
tmp.subPagesIds.table = tt_content
tmp.subPagesIds.select {
  orderBy = sorting
  where = colPos = 1
}
tmp.subPagesIds.renderObj = COA
tmp.subPagesIds.renderObj {
  10 = Content
  10.field = header_link
  10.table = tt_content
  10.select {
    orderBy = sorting
    where = colPos = 1
    languageField = sys_language_uid
  }
}

lib.MYVIDEO = CONTENT
lib.MYVIDEO.table = tt_content
lib.MYVIDEO.select {
  pidInList.cObject < tmp.subPagesIds
  orderBy = sorting
  where = colPos = 0
}