---
title: "Daten an f:Object übergeben"
url: "https://www.typo3.net/d/127736-daten-an-fobject-uebergeben"
source: "typo3.net"
tags: ["TYPO3","TypoScript","Fluid","Frage","TYPO3 9","ViewHelper"]
created: "2019-08-19"
last_reply: "2019-08-20"
replies: 2
solved: false
page: 1
pages: 1
lang: "de"
---

# Daten an f:Object übergeben

TYPO3 › TypoScript · 2 Antworten · gestartet 2019-08-19

## Eröffnungsbeitrag

**griebie** · 2019-08-19 · [Beitrag #1](https://www.typo3.net/d/127736-daten-an-fobject-uebergeben/1)

Moin in die Runde!

Ich möchte, dass die Redakteure in den Seiteneigenschaften ein SVG-Bild hochladen können, welches ich je nach Ausgabemedium mit CSS stylen kann. Deswegen möchte ich mit TypoScript ein inline-SVG ausgeben.

Zunächst habe ich den MenuDataProcessor bemüht:

```typoscript
page.10.dataProcessing {
  20 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
  20 {
    entryLevel = 1
    levels = 1
    expandAll = 1
    includeSpacer = 0
    as = menuCustomersArea
    dataProcessing {
      10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
      10 {
        references.fieldName = media
        as = icon
        if {
          isTrue = {$page.theme.menuCustomersArea.icon.enable}
        }
      }
    }
  }
}
```

In meinem Fluid-Partial gebe ich folgendes an, um das TypoScript zu laden:

```html
<f:cObject typoscriptObjectPath="lib.pageIcon" data="{item.icon.0.originalFile.storage.configuration.basePath}{item.icon.0.originalFile.identifier}"/>
```

In diesem lib.pageIcon

```typoscript
lib.pageIcon = SVG
lib.pageIcon {
    renderMode = inline
    src = |
    width = 100
    height = 100
  }
```

kommt aber nichts an. Wenn ich mit

```html
<f:debug>{item}</f:debug>
```

die Ausgabe anschaue, müssten die oben angegebenen Pfade aber stimmen. Aber ist es überhaupt möglich, die Info mit f:cObject weiterzugeben - wenn ja, wie könnte es klappen?

Danke für Eure Info vorab!

## Antworten

### [#2](https://www.typo3.net/d/127736-daten-an-fobject-uebergeben/2) · Teisinger · 2019-08-19

hmm wusste gar nicht das man in TypoScript SVGs machen kann...
Ich hab nen ViewHelper dafür:

```php
class SvgSourceToInlineViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper {

    public function initializeArguments() {
        $this->registerArgument('src', 'string', 'path to svg file', true);
    }

        /**
     * @param array $arguments
     * @param \Closure $renderChildrenClosure
     * @param RenderingContextInterface $renderingContext
     *
     * @return string
     */
    public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) {
        $extensions= array("svg");

        if (file_exists($arguments['src'])) {
            $file_ext = strtolower(end(explode('.', $arguments['src'])));
            if(in_array($file_ext, $extensions) === true) {
                $svg_file = file_get_contents($arguments['src']);
                $find_string = '<svg';
                $position = strpos($svg_file, $find_string);
                $svg_file_new = substr($svg_file, $position);

                return $svg_file_new;
            }
        }
    }
}
```

### [#3](https://www.typo3.net/d/127736-daten-an-fobject-uebergeben/3) · griebie · 2019-08-20

Danke!

Den werde ich im Team mal vorschlagen, aber mein ursprünglicher Ansatz wäre die Verwendung des Core Objektes SVG gewesen, s. <https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Svg/Index.html>

Sollte ich das damit nicht hinbekommen, mag Dein ViewHelper aber die Lösung sein ...

---

Quelle: „Daten an f:Object übergeben“, typo3.net, https://www.typo3.net/d/127736-daten-an-fobject-uebergeben
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
