Zum Inhalt springen

Marker Ausgabe modifizieren

Erstellt am 14. Januar 2009 · 1 Antwort · letzte Antwort am 14. Januar 2009

Tags: PHP, Frage

elTorito ·

Hi,

für eine Extension habe ich folgendes TypoScript:

plugin.tx_pmtour_pi1 {
  singleView {
    gpxfile {
        path = uploads/tx_pmtour/
	icon = 1
        icon_link =1
        wrap= <p class="xxx"> |</p>
    }  
    gpxfile_stdWrap {
        wrap = <p class="zzz"> |</p>
    }    
  }
}

In der Extension Klasse wird für die Ausgabe der Marker wie folgt angegeben:

$val["gpxfile"] = "gpxdateiname.gpx";

$markerArray['###GPXFILE###'] = $this->cObj->stdWrap($this->cObj->filelink($val["gpxfile"], $this->conf["singleView."]["gpxfile."]),$this->conf["singleView."]["gpxfile_stdWrap."]);

Diese Kombination macht folgende Ausgabe:

- Icon
- Dateiname

Beide Sachen richtig verlinkt mit der Datei.

Ich möchte aber nur das Verlinkte Icon Ausgeben und nicht den Dateiname, und egal wie, oder wo ich etwas verändere, es will nicht gelingen, der ausgeschriebene Dateiname wird par tout immer mit ausgegeben, egal ob das Icon mit ausgegeben wird oder nicht.

Ich habe hier wohl ein verständnisproblem zu dem was $this->cObj->stdWrap eigentlich macht .

Kann man die Ausgabe "einfach" verändern um das zu erreichen was ich möchte, oder muss ich da weitere Angaben machen um zum gewünschten Ergebnis zu kommen?

Danke

Julian.​Hofmann ·

Hallo.

Die stdWrap-Funktion ist hier weniger das Problem. Für Dein Ziel problematisch ist die Funktion filelink, die in den Argumenten der stdWrap-Funktion aufgerufen wird.

Ein Blick in die API verrät uns, dass die Funktion als Rückgabe "The link to the file possibly with icons, thumbnails, size in bytes shown etc." hat.
Erstmal also nichts dran zu machen.

Ein Blick in den Sourcecode der Funktion eröffnet dann vielleicht doch noch eine Möglichkeit:
Da der Link einzeln um theValue und das Icon gelegt werden, müsstest Du via ATagBeforeWrap um den Dateinamenherum ein <span style="display:none,">|<span> basteln können. Damit wäre der Name zwar im HTML-Code noch da, aber nicht mehr sichtbar.

Viele Grüße
Julian