Hallo,
ich habe ein Design wo ich ein Bild aus den Resourcen an einer fixen Position im Template anzeige und dieses sollte dann verlinkt werden. Die Anzeige des Bildes funktioniert super, nur leider komme ich nicht an den vergeben Link heran.
Derzeit bekomme ich das Bild folgendermaßen:
obj.headerimage = IMG_RESOURCE
obj.headerimage {
file {
import.data = levelmedia:-1
treatIdAsReference = 1
import.listNum = rand
}
}
Und übergebe es dann mittels Variable an das Template.
Hat da jemand eine Seite oder ein Stück Code um mir auf die Sprünge zu helfen?
Nach welchem Prinzip soll das dan verlinkt werden? Fix?
eine fixe Verlinkung wäre ja leicht, ist es aber leider nicht.
Man kann bei den Resourcen im Backend ja Bilder hinzufügen. Diesen Bildern kann man auch einen Link geben und auf genau diesen soll das Bild dann linken.
Ich habe leider derzeit keinen Zugriff von meinem privaten PC auf die Seite, werde aber einen Screenshot von einer anderen Seite anhängen, damit ihr wisst was ich meine.
Ich würde gerne den Link von dem Bild (in diesem Fall wird es als Hintergrund verwendet) in Fluid verwenden. Wie kann ich das mittels Typoscript auslesen und dann als Variable übergeben?
Der Link sollte auch immer zum gewählten Bild passen, weil dort wo ich das brauche entsteht eine Art Banner-Werbung wo das Bild zu einer anderen Seite linkt.
Vielen Dank

z.b.
obj.headerimage.file.typolink.parameter.data = file:current:link
So schaut es derzeit aus und ich hab schon einige Varianten ausprobiert um auf die Variable zuzugreifen.
Gibt es irgendwo eine gute Dokumentation wie die Struktur von z.B. für IMG_RESOURCE ausschaut?
obj.headerimage = IMG_RESOURCE
obj.headerimage {
file {
import.data = levelmedia:-1
treatIdAsReference = 1
import.listNum = rand
typolink.parameter.data = file:current:link
}
}
tmpl.default = FLUIDTEMPLATE
tmpl.default {
file = {$privateMedia}/templates/default.html
partialRootPath = {$privateMedia}/partials
layoutRootPath = {$privateMedia}/layouts
variables {
menu < obj.menu
content < styles.content.get
social < obj.social
logo < obj.logo
copyright < obj.copyright
background < obj.headerimage
backgroundlink < obj.headerimage.?!?
}
}
Ich glaube ich weiß jetzt etwas genauer wo das Problem ist.
Ich möchte ja kein komplettes element erzeugen, sondern möchte ich 2 Werte in zwei unterschiedlichen Variabeln gespeichert haben.
Leider lässt mich Typoscript den Wert innerhalb des IMAGE bzw IMG_RESOURCE Object nicht in eine andere Variabel speichern.
Kennt da jemand eine Möglichkeit wie das dennoch möglich ist?
Zum Beispiel bekomme cih folgendes nicht hin:
tmpValue = TEXT;
tmpValue = TS_Test
// in tmpValue ist nun "TS_Test" als String gespeichert.
obj.headerimage2 = IMAGE
obj.headerimage2 {
file {
import.data = levelmedia:-1
treatIdAsReference = 1
import.listNum = rand
}
imageLinkWrap = 1
imageLinkWrap {
enable = 1
typolink {
parameter = file:current:link
tmpValue = file:current:link
}
}
}
}
// in tmpValue steht noch immer "TS_Test" als String drinnen. Warum?
Korrekterweise sollte es
tmpValue.value =) TS_Test
heissen.
Ohne mich zu weit aus dem Fenster lehnen zu wollen, eine Zuordnung wie du sie hier versuchst wird nicht funktionieren, weil der Scope nicht stimmt.
Allerdings ist mir auch nicht ganz klar was du damit bezwecken willst...
.value hatte ich natürlich vergessen. Bei den vielen Dingen die ich ausprobiert habe, ist das untergegangen.
=) als Zuweisung habe ich bisher noch gar nicht gesehen. Hast du vielleicht einen Link wo das näher erläutert wird.
Denn das Verhalten von Typoscript ist da meiner Meinung nach etwas eigen. Aus anderen Programmiersprachen bin ich es nämlich gewohnt auf "globale Variablen" bzw Variablen der übergeordneten Struktur ganz einfach zugreifen zu können.
Was ich damit machen möchte/muss:
Es gibt ein Content div mit einem Background Image und background-size: cover. um dieses div soll ein link gesetzt werden welcher von der image resource kommt. Es sollt damit bei jedem Seitenaufruf ein anderes Hintergrundbild gewählt werden und für jedes Bild ist natürlich ein anderer Hintergrund ausgewählt.
Das schaut ca so aus:
<a href="Link_vom_Bild">
<div id="content-container" style="background-image: url('Pfad_zum_Bild');">
<!-- content -->
</div>
</a>
Der ")" gehört da nicht hin, der ist reingerutscht 🙂
So spontan fällt mir zu deinem Problem aber leider auch nicht mehr ein
Ok. Das ist sehr schade.
Denn das blöde ist, dass ich verschiedene Content Templates habe.
Ich habe mir gedacht, dass ich das ganze Konstrukut einfach mit Typoscript zusammen baue. Aber dadurch, dass ich <f:render section="content" /> genau im Content Bereich habe, würde das einen gemischten Modus f:format Modus ergeben. Alles sehr blöd :S
Auch wenn das Thema nun schon ein paar Jährchen ruht, Google hat mich heute Abend immer wieder hier her gebracht. Für die Fragestellung oben gibt es hier kurz meine Lösung:
logo = FILES
logo {
references {
data = levelmedia: -1, slide
}
renderObj = IMAGE
renderObj {
file.import.dataWrap = {file:current:storage}:{file:current:identifier}
altText.data = file:current:title
stdWrap {
typolink {
parameter.data = file:current:link
ATagParams = class="navbar-brand"
extTarget = _top
}
}
}
}
getestet in TYPO3 v.8
Das Thema ruht ja schon eine ganze Weile... aber ich wollte kurz meine Lösung dazu mit euch teilen:
logo = FILES
logo {
references {
data = levelmedia: -1, slide
}
renderObj = IMAGE
renderObj {
file.import.dataWrap = {file:current:storage}:{file:current:identifier}
altText.data = file:current:title
stdWrap {
typolink {
parameter.data = file:current:link
ATagParams = class="navbar-brand"
extTarget = _top
}
}
}
}
Falls noch jemand via Google hier landet. Getestet in TYPO3 8LTS
Super!
Vielen Dank, dass Du die Lösung noch gepostet hast. Ich hatte heute genau diese Frage und Deine Lösung hat sofort perfekt geholfen.
Ich bin übrigens via Google hier gelandet ;-)
Thorsten