33 \
Magento\Framework\View\Layout\ProcessorFactory $layoutProcessorFactory,
34 \
Magento\Framework\View\Asset\Repository $assetRepo
36 $this->_layoutProcessorFactory = $layoutProcessorFactory;
37 $this->_assetRepo = $assetRepo;
38 parent::__construct($context);
51 public function getCssAssets(
$theme)
54 $layoutProcessor = $this->_layoutProcessorFactory->create([
'theme' =>
$theme]);
55 $layoutElement = $layoutProcessor->getFileLayoutUpdatesXml();
60 $xpathSelectorBlocks =
'//block[@class="Magento\Theme\Block\Html\Head"]' .
61 '/block[@class="Magento\Theme\Block\Html\Head\Css"]/arguments/argument[@name="file"]';
66 $xpathSelectorRefs =
'//referenceBlock[@name="head"]' .
67 '/block[@class="Magento\Theme\Block\Html\Head\Css"]/arguments/argument[@name="file"]';
69 $elements = array_merge(
70 $layoutElement->xpath($xpathSelectorBlocks) ?: [],
71 $layoutElement->xpath($xpathSelectorRefs) ?: []
75 'area' =>
$theme->getArea(),
80 foreach ($elements as $fileId) {
81 $fileId = (string)$fileId;
82 $result[$fileId] = $this->_assetRepo->createAsset($fileId,
$params);
__construct(\Magento\Framework\App\Helper\Context $context, \Magento\Framework\View\Layout\ProcessorFactory $layoutProcessorFactory, \Magento\Framework\View\Asset\Repository $assetRepo)
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]