Zum Inhalt springen

Link um gesamtes Inhaltselement

Erstellt am 21. November 2011 · 7 Antworten · letzte Antwort am 15. Oktober 2013

Tags: Inhaltselemente, Links, Frage

felle ·

Hallo zusammen

Ich möchte in TYPO3 Seiteninhalte als Teaser verwenden. So, dass um den gesamten Seiteninhalt ein Link Tag mit einem Link auf eine interne Seite gewrapt wird.

Dazu müsste ich analog zur Überschrift ein Link Feld in der Seiteninhaltsmakse und diesen Link könnte ich dann um den gesamten Seiteninhalt wrappen.

Alternativ kann man die Überschriften und Text auch im RTE definieren und dann den gesamten Text verlinken. Aber dann wird jedes Element einzeln verlinkt. Sieht Codeschnippsel:

<div class="teaser">
  <h4><a href="subpage1/" title="Öffnet internen Link im aktuellen Fenster" class="internal-link" >Link zu Subpage 1</a></h4>

  <p><a href="subpage1/" title="Öffnet internen Link im aktuellen Fenster" class="internal-link" >Hier steht der Text</a></p>
</div>

Was ich möchte ist aber

<a href="subpage1/" title="Öffnet internen Link im aktuellen Fenster" class="internal-link" >
  <div class="teaser">
    <h4>Link zu Subpage 1</h4>
    <p>Hier steht der Text</p>
   </div>
</a>

Kennt jemand eine Möglichkeit so etwas umzusetzen (Extension, TYPOSCRIPT Workaround) ?

SomehowLost ·

Hallo,

um es gleich mal vorweg zu nehmen: das wäre aber mal höchst unsauber das so zu machen.

Aber: Du könntest im Repository mal nach einer Teaser-Extension suchen, die gibt es da Zuhauf. Dann kannst Du das jeweilige Template entsprechend anpassen.
Oder aber Du erzeugst entsprechend einen zusätzlichen Wrap un das jeweilige Content-Element und baust Dir diesen via TS zusammen (dann kannst Du ja deinen Link um das gesamte Element bauen).
Andere Möglichkeit: Du baust Dir Deinen eigenen Teaser über "Sitemap - Unterseiten mit Inhaltsangabe". Dann kannst Du über beliebige Felder in den Page-Properties Deine Teaser-Inhalte ziehen.

Hoffe Dir ein wenig weitergeholfen zu haben.

Viele Grüße

felle ·

Hi SomehowLost

Vielen Dank für deine Antwort. Soweit ich weis, ist es mit HTML5 erlaubt auch Blockelemente wie DIVs zu verlinken.

Ich versuche jetzt mal den Weg mit einer eigenen Extension tt_content um ein URL Feld zu erweitern und versuche den Link dann im Wrap um das Content Element auszulesen.

Falls jemand ein TYPOSCRIPT parat hat mit dem man einzelne Felder aus der tt_content auslesen kann, wäre ich sehr dankbar.

SomehowLost ·

Hi felle,

mit

temp.inhaltselement = RECORDS
temp.inhaltselement {
    tables = tt_content
    source = 5 # Deine Content-Element uid
    dontCheckPid = 1
    wrap = <div class="teaser">|</div>
}

kannst Du das machen. Für mehrere nimmst einfach ein COA:

temp.inhaltselement = COA
temp.inhaltselement {
  10 = RECORDS 
  10 {
    tables = tt_content
    source = 5 # Deine Content-Element uid
    dontCheckPid = 1
    wrap = <div class="teaser">|</div>
  }
  20 < .10
  20.source = 6 # eine weitere uid
}

Viele Grüße

felle ·

Hallo vielen Dank für die Codebeispiele. Die funktionieren nicht ganz, da die content_id bei mir nicht statisch sein darf, sondern immer die des jeweiligen Content Elements.

Ich habe das Problem letzt folgendermassen gelöst. Mit einer ganz simplen Extension habe ich die Tabelle tt_content um ein Link Feld erweitert: tx_fyaycttcontentlinkwrap_content_link.

Bild: typo3.net/…/anhang627

Das Feld lese ich in folgenden TYPOSCRIPT aus. An dieser Stelle wäre ich um Codebeispiel dankbar, wie ich das eleganter mittels typolink realisieren kann.

temp.teaserlink = TEXT
temp.teaserlink{
  field = tx_fyaycttcontentlinkwrap_content_link
  wrap  = <a href="index.php?id=|">
}

Den erzeugten Link setzte ich dann um meinen Content:

tt_content {
  stdWrap.outerWrap.cObject {
    key.field = layout
    
    default = TEXT
    default.value = <div>|</div>
    ...
    # Seiteninhaltstyp "Teaser 1"
    3 = COA
    3 {
      1 < temp.teaserlink

      2 = TEXT
      2.value = <div class="teaser1"> |</div></a>
    }
  }
}

Hat jemand eine Idee wie ich das Eingabefeld meiner Extension auf den "Allgemein" Reiter der Seiteninhaltsmaske bekomme?

Vielen Dank
Tobias

Screen-Shot-2011-11-22-at-17.16.jpg

felle ·

finally mit typolink:

tt_content.stdWrap.outerWrap.cObject = CASE
tt_content.stdWrap.outerWrap.cObject{
  key.field = layout
  default = TEXT
  default.value = <div>|</div>
  # Seiteninhaltstyp "Teaser 1"
  3 = TEXT
  3.value = <div class="teaser1">|</div>
  3.typolink.parameter.field = tx_fyaycttcontentlinkwrap_content_link
}
osx ·
felle schrieb

Hallo vielen Dank für die Codebeispiele. Die funktionieren nicht ganz, da die content_id bei mir nicht statisch sein darf, sondern immer die des jeweiligen Content Elements.

Ich habe das Problem letzt folgendermassen gelöst. Mit einer ganz simplen Extension habe ich die Tabelle tt_content um ein Link Feld erweitert: tx_fyaycttcontentlinkwrap_content_link.

Bild: typo3.net/…/anhang627

Das Feld lese ich in folgenden TYPOSCRIPT aus. An dieser Stelle wäre ich um Codebeispiel dankbar, wie ich das eleganter mittels typolink realisieren kann.

temp.teaserlink = TEXT
temp.teaserlink{
  field = tx_fyaycttcontentlinkwrap_content_link
  wrap  = <a href="index.php?id=|">
}

Den erzeugten Link setzte ich dann um meinen Content:

tt_content {
  stdWrap.outerWrap.cObject {
    key.field = layout
    
    default = TEXT
    default.value = <div>|</div>
    ...
    # Seiteninhaltstyp "Teaser 1"
    3 = COA
    3 {
      1 < temp.teaserlink

      2 = TEXT
      2.value = <div class="teaser1"> |</div></a>
    }
  }
}

Hat jemand eine Idee wie ich das Eingabefeld meiner Extension auf den "Allgemein" Reiter der Seiteninhaltsmaske bekomme?

Vielen Dank
Tobias

Wo finde ich denn diese Extension?

Malkauns ·

Hallo auch!
Ich habe ebenfalls das o.g. Problem, einen Seiteninhalte als Teaser verwenden zu wollen. Ich komme bei der Extension-Erstellung leider nicht weiter. Würdest Du die Extension tx_fyaycttcontentlinkwrap_content_link evt. zur Verfügung stellen?

Danke und Gruß!