Chcę wyświetlić obraz w pliku szablonu modułu. Kiedy ktoś instaluje mój moduł, może zobaczyć ten obraz. Czy mogę przechowywać moje obrazy w katalogu mojego modułu, czy nie?
Chcę wyświetlić obraz w pliku szablonu modułu. Kiedy ktoś instaluje mój moduł, może zobaczyć ten obraz. Czy mogę przechowywać moje obrazy w katalogu mojego modułu, czy nie?
Odpowiedzi:
Tak, możesz przechowywać obrazy w swoich katalogach internetowych modułów w zależności od obszaru twoich szablonów. Ścieżka to: Vendor / Module / view / {frontend | adminhtml} / web / images /
Następnie w plikach * .phtml możesz wyświetlić obraz:
<img src="<?php echo $this->getViewFileUrl('Vendor_Module::images/image.png'); ?>" />
\Magento\Framework\View\Result\PageFactory
klasę do swojego konstruktora, $pageFactory
a następnie wywołać $pageFactory->getViewFileUrl()
metodę. W przypadku plików js nie mam pojęcia, jak je zdobyć.
Lubię kodować base-64 moje PNG i wstawiać je. Korzystam z https://www.base64-image.de .
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJ....=">
<script type="text/x-magento-init">
{
<?php /* this defines the target of the widget */ ?>
"#target_id": {
<?php /* this defines the widget */ ?>
"image.widget.name": {
"imagename" : "<?php echo $this->getViewFileUrl('Vendor_Module::images/image.png'); ?>"
}
}
}
Używałbyś skryptu inicjującego widget magento do uruchomienia javascript ze zdefiniowaną opcją „imagename”. Ta technika inicjalizacji jest zwykle wykonywana w plikach phtml. Mój kod zakłada, że twój obraz znajduje się w Vendor / Module / view / {frontend | adminhtml} / web / images /
Aby uzyskać więcej informacji, zobacz dokumentację magento 2. http://devdocs.magento.com/guides/v2.1/javascript-dev-guide/javascript/js_init.html