magento 2: Chcę wyświetlić obraz w pliku phtml szablonu modułu


21

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?


Ohoo ankush bhai magento2
Amit Singh

Odpowiedzi:


33

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'); ?>" />

Jeśli chcę ten adres URL w pomocnika, jak mogę go zdobyć? lub w pliku js?
Nitesh

W pomocniku możesz wstrzyknąć \Magento\Framework\View\Result\PageFactoryklasę do swojego konstruktora, $pageFactorya następnie wywołać $pageFactory->getViewFileUrl()metodę. W przypadku plików js nie mam pojęcia, jak je zdobyć.
Miroslav Petroff


0
<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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.