Necesito obtener el archivo PATH para una imagen en la pub/static/[VENDOR_THEME]
carpeta.
Actualmente, puedo hacer esto usando un ayudante:
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;
}
¿Hay alguna función incorporada de Magento que maneje esto, por lo que no tengo que crear mi propio ayudante?
Respuestas:
Como @Khoa TruongDinh afirma que puede usar
Magento\Framework\View\Asset\Repository
para obtener una clase de archivoMagento\Framework\View\Asset\File
, que luego puede usar para obtener diversos datos.Para obtener activos en su carpeta de temas
app/design/frontend/VENDOR/THEME/web
simplemente elimine el nombre del módulo como se muestra a continuación ...Consulte las
Magento\Framework\View\Asset\File
funciones que puede usar para obtener datos de archivos.fuente
En nuestro bloque, deberíamos intentar con:
Echar un vistazo:
vendor/magento/module-backend/view/adminhtml/templates/page/js/require_js.phtml
vendor/magento/module-theme/view/frontend/templates/page/js/require_js.phtml
EDITAR: podemos usar
Magento\Framework\View\Asset\Repository
Por ejemplo: su imagen está debajo de:
app/code/Vendor/Module/view/frontend/web/images/image.png
Ver más aquí: Magento 2 Obtener imagen Url en controlador o ayudante?
fuente