diff --git a/Service/Export/Renderer/HtmlRenderer.php b/Service/Export/Renderer/HtmlRenderer.php index 0ffff59..6ad987f 100644 --- a/Service/Export/Renderer/HtmlRenderer.php +++ b/Service/Export/Renderer/HtmlRenderer.php @@ -19,7 +19,7 @@ use Magento\Framework\View\FileSystem as ViewFileSystem; use Magento\Framework\View\Page\Config; use Magento\Framework\View\Page\Config\RendererInterface; -use Opengento\Gdpr\Model\View\Page\Config\RendererFactory; +use Opengento\Gdpr\Service\Export\Renderer\HtmlRenderer\View\RendererFactory; use Opengento\Gdpr\Service\Export\Renderer\HtmlRenderer\LayoutInitiatorInterface; use function extract; use function ob_end_clean; diff --git a/Model/View/Page/Config/Renderer.php b/Service/Export/Renderer/HtmlRenderer/View/Renderer.php similarity index 54% rename from Model/View/Page/Config/Renderer.php rename to Service/Export/Renderer/HtmlRenderer/View/Renderer.php index 91fe075..a23a630 100644 --- a/Model/View/Page/Config/Renderer.php +++ b/Service/Export/Renderer/HtmlRenderer/View/Renderer.php @@ -5,13 +5,13 @@ */ declare(strict_types=1); -namespace Opengento\Gdpr\Model\View\Page\Config; +namespace Opengento\Gdpr\Service\Export\Renderer\HtmlRenderer\View; use Magento\Framework\View\Asset\AssetInterface; +use Magento\Framework\View\Asset\File; use Magento\Framework\View\Asset\GroupedCollection; use Magento\Framework\View\Asset\PropertyGroup; use Magento\Framework\View\Page\Config\Renderer as ViewRenderer; -use function file_get_contents; use function sprintf; use const PHP_EOL; @@ -19,34 +19,39 @@ class Renderer extends ViewRenderer { protected function renderAssetHtml(PropertyGroup $group): string { + $contentType = $group->getProperty(GroupedCollection::PROPERTY_CONTENT_TYPE); $assets = $this->processMerge($group->getAll(), $group); $attributes = $this->getGroupAttributes($group); $result = ''; /** @var $asset AssetInterface */ foreach ($assets as $asset) { - $result .= $this->inlineHtml( - $group->getProperty(GroupedCollection::PROPERTY_CONTENT_TYPE), - $asset->getUrl(), - $this->addDefaultAttributes($this->getAssetContentType($asset), $attributes) - ); + if ($asset instanceof File) { + $result .= $this->inlineHtml( + $contentType, + $asset, + $this->addDefaultAttributes($this->getAssetContentType($asset), $attributes) + ); + } else { + $result .= sprintf($this->getAssetTemplate($contentType, $attributes), $asset->getUrl()) . PHP_EOL; + } } return $result; } - private function inlineHtml(string $contentType, string $src, ?string $attributes): string + private function inlineHtml(string $contentType, File $asset, ?string $attributes): string { switch ($contentType) { case 'js': - $result = ''; + $result = '' . PHP_EOL . $asset->getContent() . ''; break; case 'css': - $result = ''; + $result = '' . PHP_EOL . $asset->getContent() . ''; break; default: - $result = sprintf($this->getAssetTemplate($contentType, $attributes), $src); + $result = sprintf($this->getAssetTemplate($contentType, $attributes), $asset->getUrl()); break; }