14 class Direct implements \Magento\Framework\View\Asset\MergeStrategyInterface
31 private $cssUrlResolver;
39 \
Magento\Framework\View\
Url\CssResolver $cssUrlResolver
42 $this->cssUrlResolver = $cssUrlResolver;
50 $mergedContent = $this->composeMergedContent($assetsToMerge, $resultAsset);
51 $filePath = $resultAsset->getPath();
54 $tmpDir->writeFile($filePath, $mergedContent);
55 $tmpDir->renameFile($filePath, $filePath, $staticDir);
66 private function composeMergedContent(array $assetsToMerge,
Asset\
LocalInterface $resultAsset)
70 foreach ($assetsToMerge as $asset) {
71 $result[] = $this->preProcessBeforeMerging($asset, $resultAsset, $asset->getContent());
74 $result = $this->preProcessMergeResult($resultAsset, ltrim(implode($delimiter,
$result)));
88 if (
$result->getContentType() ==
'css') {
89 $from =
$item->getPath();
91 return $this->cssUrlResolver->relocateRelativeUrls(
$content, $from, $to);
103 private function preProcessMergeResult(Asset\LocalInterface
$result,
$content)
105 if (
$result->getContentType() ==
'css') {
119 if ($contentType ==
'js') {
merge(array $assetsToMerge, Asset\LocalInterface $resultAsset)
_getFilesContentDelimiter($contentType)
const MERGE_DELIMITER_EMPTY
__construct(\Magento\Framework\Filesystem $filesystem, \Magento\Framework\View\Url\CssResolver $cssUrlResolver)