Project

General

Profile

Actions

Feature #99510

open

ScriptViewHelper and CssViewHelper miss file to inline rendering option

Added by Tanel Põld over 1 year ago. Updated about 1 year ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
-
Start date:
2023-01-10
Due date:
% Done:

0%

Estimated time:
PHP Version:
Tags:
inline, css, javascript, f:asset
Complexity:
Sprint Focus:

Description

f:asset.css and f:asset.script are great but miss an option to render inline from files.
This would help keeping JavaScript and CSS out of XML files in case one desires rendering it inline.

So for example this CSS file would be loaded inline:

<f:asset.css identifier="extensionName" inline href="EXT:extensionname/Resources/Public/Css/extensionname.css" />

Probably not so simple but...
Registering the 'inline' attribute and then adding a condition something like this in:
typo3/sysext/fluid/Classes/ViewHelpers/Asset/CssViewHelper.php

if ($file !== null) {
    if ($inline) {
        $content = (string)file_get_contents(GeneralUtility::getFileAbsFileName(trim($file)));
        $this->assetCollector->addInlineStyleSheet($identifier, $content, $attributes, $options);
    } else {
        $this->assetCollector->addStyleSheet($identifier, $file, $attributes, $options);
    }
}
Actions #1

Updated by Tanel Põld about 1 year ago

Semantically 'embed' or 'internal' instead of 'inline' would be more correct...

Actions #2

Updated by Benni Mack about 1 year ago

  • Target version changed from 12 LTS to Candidate for Major Version
Actions

Also available in: Atom PDF