Мне нужно получить файл PATH для изображения в pub/static/[VENDOR_THEME]
папке.
В настоящее время я могу сделать это с помощью помощника:
public function __construct(
\Magento\Framework\App\Helper\Context $context,
\Magento\Framework\View\Asset\Repository $assetRepository,
\Magento\Framework\App\Filesystem\DirectoryList $directoryList
) {
parent::__construct($context);
$this->_assetRepo = $assetRepository;
$this->_directoryList = $directoryList;
}
public function getImagePath($image)
{
return $this->_directoryList->getPath(DirectoryList::STATIC_VIEW) .
'/' .
$this->_assetRepo->getStaticViewFileContext()->getPath() .
'/' .
$image;
}
Есть ли встроенная функция Magento, которая обрабатывает это, поэтому мне не нужно создавать свой собственный помощник?
Ответы:
Как утверждает @Khoa TruongDinh, вы можете использовать
Magento\Framework\View\Asset\Repository
класс для получения файлового классаMagento\Framework\View\Asset\File
, который затем можно использовать для получения различных данных.Чтобы получить актив в папке вашей темы,
app/design/frontend/VENDOR/THEME/web
просто удалите имя модуля, как показано ниже ....Смотрите
Magento\Framework\View\Asset\File
для функций, которые вы можете использовать, чтобы получить данные файла.источник
В нашем блоке мы должны попробовать:
Взглянуть:
vendor/magento/module-backend/view/adminhtml/templates/page/js/require_js.phtml
vendor/magento/module-theme/view/frontend/templates/page/js/require_js.phtml
РЕДАКТИРОВАТЬ: мы можем использовать
Magento\Framework\View\Asset\Repository
Например: ваше изображение находится под:
app/code/Vendor/Module/view/frontend/web/images/image.png
Смотрите больше здесь: Magento 2 Получить изображение URL в контроллере или помощнике?
источник