Ich muss die Datei PATH für ein Bild im pub/static/[VENDOR_THEME]
Ordner erhalten.
Derzeit kann ich dies mit einem Helfer tun:
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;
}
Gibt es eine integrierte Magento-Funktion, die dies erledigt, sodass ich keinen eigenen Helfer erstellen muss?
Antworten:
Wie @Khoa TruongDinh angibt, können Sie mit der
Magento\Framework\View\Asset\Repository
Datei eine Dateiklasse abrufenMagento\Framework\View\Asset\File
, mit der Sie dann verschiedene Daten abrufen können .Um ein Asset in Ihren Themenordner zu bekommen, entfernen Sie
app/design/frontend/VENDOR/THEME/web
einfach den Modulnamen wie folgt ....Siehe
Magento\Framework\View\Asset\File
Funktionen, mit denen Sie Dateidaten abrufen können.quelle
In unserem Block sollten wir versuchen mit:
Schau mal:
vendor/magento/module-backend/view/adminhtml/templates/page/js/require_js.phtml
vendor/magento/module-theme/view/frontend/templates/page/js/require_js.phtml
EDIT: wir können verwenden
Magento\Framework\View\Asset\Repository
Zum Beispiel: Ihr Bild befindet sich unter:
app/code/Vendor/Module/view/frontend/web/images/image.png
Weitere Informationen finden Sie hier: Magento 2 Bild-URL im Controller oder Helfer abrufen?
quelle