Zum Inhalt springen

ID an Seite übergeben

Erstellt am 22. November 2013 · 11 Antworten · letzte Antwort am 26. November 2013

Tags: Links, TYPO3 4.x, Frage

allej ·

Guten Abend zusammen

Gestützt auf das Abschalten des API-Key 2 musste ich die Extension rggooglemaps leider aufgeben. Schade. War eine sehr schöne Erweiterung.
Nun möchte ich meine Homepage mit OpenStreetMap (ods_osm) erweitern. Funktioniert soweit auch gut.
Klicke ich auf eine PoI wird der dazugehörige Bubble geöffnet. In diesem steht der Titel sowie die ID der dazugehörigen news.
Mein Wunsch wäre nun, dass die ID durch den typolink "Details" ersetzt wird und klickt man auf "Details" soll die entsprechende News geöffnet werden.

Dies habe ich mit folgendem TS versucht:
Auszug aus dem TS

_CSS_DEFAULT_STYLE = .olControlAttribution{bottom:0px!important;}
  popup {
    fe_users = COA
    fe_users {
      10 = TEXT
      10.field = name
      10.wrap = <h2>|</h2>
      20 = TEXT
      20.field = description
    }
    tt_address = COA
    tt_address {
      10 = TEXT
      10.field = name
      10.wrap = <h2>|</h2>
      20 = TEXT      
      #20.field = description
      20.value = Details
      20.typolink.parameter = index.php?id=274&tx_ttnews[tt_news][b]?[/b]
    }
  }

Im Bubble wird mir anstelle "Details" noch immer die ID angezeigt. Auch habe ich verschiedene Ansätze versucht die ID an tt_news zu übergeben. Vergeblich. Um Euch eine sinnlose Aufzählung zu ersparen (und mich nicht allzulächerlich zu machen) notiere ich meine untaugliche Versuche lieber nicht.

Könnt Ihr mir bitte helfen, den Text "Details" in den Bubble zu bekommen und die ID an die Seite mit der Detailansicht "News" zu übergeben.
Ich danke schon jetzt für Eure Zeit und Mühe.

Freundliche Grüsse
allej

allej ·

Hallo zusammen

Die Übergabe der ID konnte ich lösen. Für die, welche irgendwann Mal vor demselben Problem stehen:

    tt_address = COA
    tt_address {
      10 = TEXT
      10.field = name
      10.wrap = <h3>|</h3>
      20 = TEXT
      20.field = description
      20.value = Details
      20.wrap.typolink.parameter = index.php?id=274&tx_ttnews[tt_news]=|

Jetzt steh ich noch vor dem Problem mit der Benennung des typolinks. '20.value=Details' wird einfach ignoriert. Hat jemand eine Idee wie ich dies bewerkstelligen kann?

Freundliche Grüsse
allej

allej ·

Danke für den Hinweis.
Auch wenn ich '20.field=description' ausklammere wird mir im Bubble 'index.php?id=273&tx_ttnews[tt_news]=' angezeigt.

Um dies zu verdeutlichen habe ich einen Printscreen angehängt.

Freundliche Grüsse
allej

bubble.png

Schweriner ·

Wozu die Pipe | in deinem Typolink Parameter? Soll oder findet dort eine Art wrap statt? Falls ja bitte nochmal den kompletten Schnipsel.

EDIT: Ich seh gerade, dass du Wrap den Typolink Parameter gibts, was natürlich blöd ist.

So oder so würde ich mal probieren den Typolink folgendermaßen zusammen zu bauen:

tt_address = COA
    tt_address {
      10 = TEXT
      10.field = name
      10.wrap = <h3>|</h3>
      20 = TEXT
      20.value = Details
      20.typolink.parameter = id_der_detailseite
      20.typolink.additionalParams.dataWrap = &tx_ttnews[tt_news]={GP:tx_ttnews|tt_news}
}

Bei den additionalParams bin ich mir jetzt nicht sicher ob ich alles richtig geschrieben habe und ob du die tt_news GETs überhaupt anhängen musst oder ob der Typolink diese automatisch mit anhängt sofern Sie in den GETs sind.

allej ·

Hallo Schweriner
Danke für Deine Geduld und Hilfe.

Wenn ich den Code von Dir einsetze, wird mir im Bubble die jeweilige news_id der tt_news angezeigt, jedoch nicht mit dem typolink mitgegeben. Das heisst, die Seite mit der News wird aufgerufen, jedoch an diese keine news_id übergeben.

Anbei der komplette Code mit den beiden Varianten

plugin.tx_odsosm_pi1 {
  library = {$plugin.tx_odsosm_pi1.library}

  marker {
    pages =
    fe_users =
    fe_groups =
    tt_address =
    tt_address_group =
    tx_odsosm_track =
  }
  width = {$plugin.tx_odsosm_pi1.width}
  height = {$plugin.tx_odsosm_pi1.height}
  lon =
  lat =
  zoom = {$plugin.tx_odsosm_pi1.zoom}
  layer = {$plugin.tx_odsosm_pi1.layer}
  mouse_navigation = {$plugin.tx_odsosm_pi1.mouse_navigation}
  show_pan_zoom = {$plugin.tx_odsosm_pi1.show_pan_zoom}
  show_popups = {$plugin.tx_odsosm_pi1.show_popups}
  show_layerswitcher = {$plugin.tx_odsosm_pi1.show_layerswitcher}
  show_scalebar = {$plugin.tx_odsosm_pi1.show_scalebar}
  no_marker = {$plugin.tx_odsosm_pi1.no_marker}

  _CSS_DEFAULT_STYLE = .olControlAttribution{bottom:0px!important;}
  popup {
    fe_users = COA
    fe_users {
      10 = TEXT
      10.field = name
      10.wrap = <h2>|</h2>
      20 = TEXT
      20.field = description
    }
    tt_address = COA
    tt_address {
      10 = TEXT
      10.field = name
      10.wrap = <h3>|</h3>     
      20 = TEXT
      #20.field = description
      #20.value = Details
      #20.wrap.typolink.parameter = index.php?id=273&tx_ttnews[tt_news]=|
      20.value = Details  
      20.typolink.parameter = 273
      20.typolink.additionalParams.dataWrap = &tx_ttnews[tt_news]={GP:tx_ttnews|tt_news}
    }
  }

  external_control = 0
  layerswitcher.div = 0
  layerswitcher.options =
  path_openlayers =
  static_script =
}

Ich habe keine Idee, wie ich dieses Problem anpacken soll/kann.

Freundliche Grüsse
allej

Schweriner ·

Beim additionalParams bin ich mir nicht ganz sicher ob meine Schreibweisen richtig sind. Hängt der denn schonmal den Parameter "&tx_ttnews[tt_news]=" an den Link an? Dann wäre die Schreibweise wohl in Ordnung und es fehlt nur noch die News ID.

Ist denn auf der Seite, auf der der Link erscheint überhaupt ein ein GET Parameter mit der News ID vorhanden? Falls ja könnte es auch sein das es statt GP: so sein muss:

20.typolink.additionalParams.dataWrap = &tx_ttnews[tt_news]={GPvar:tx_ttnews|tt_news}

In manchen TYPO3 Versionen ist es GP: und in anderen GPvar(alt)

allej ·

Wenn ich Deine Idee umsetze wird mir in der Adresszeile der Karte folgendes ausgegeben:
'index.php?id=273&tx_ttnews%5Btt_news%5D='

Bei den Zeilen in welchen ich wrap nutze bekomme ich folgendes:
'index.php?id=273&tx_ttnews[tt_news]=134'

Die NewsID ist im Feld 'description' von tt_address vermerkt.

Schweriner ·

Achso na dann müsste es eigentlich heißen:

20.typolink.additionalParams.dataWrap = &tx_ttnews[tt_news]={field:description}

;-)

allej ·

Du hast vollkommen recht. So funktioniert es. Vielen Dank.

Das Sahnehäubchen wäre nun noch das Problem mit der Benennung des typolinks. Im Moment wird mir im Bubble die News-ID ausgegeben. Mein Wunsch wäre jedoch wenn ich hier einen kurzen Text wie 'Detailansicht öffnen' darstellen lassen könnte.

'20.value = Details' funktioniert leider nicht.

Schweriner ·

Das ist eigentlich völlig unmöglich, außer der Value wird irgendwo überschrieben, gelöscht oder durch data oder ein field ersetzt.

allej ·

Perfekt. Herzlichen Dank.

Der Hinweis ist genau das was ich noch brauchte. In der Extension selbst wird im File 'ext_typoscript_setup.txt' der Inhalt mit '20.field=description" ausgegeben.

Im TS habe ich den "Fehler" korrigiert.

Vielen Dank für die Hilfe und Geduld.

Freundliche Grüsse
allej