magento 2: Voglio visualizzare un'immagine nel file phtml del modello di modulo


21

Voglio visualizzare un'immagine nel file modello del modulo. Quando qualcuno installa il mio modulo, può vedere quell'immagine. Posso memorizzare le mie immagini nella mia directory del modulo o no?


Ohoo ankush bhai magento2
Amit Singh,

Risposte:


33

Sì, è possibile archiviare immagini nelle directory Web del modulo in base all'area dei modelli. Il percorso è: fornitore / modulo / vista / {frontend | adminhtml} / web / images /

Quindi nei tuoi file * .phtml puoi visualizzare l'immagine:

<img src="<?php echo $this->getViewFileUrl('Vendor_Module::images/image.png'); ?>" />

Se voglio quell'URL in aiuto come posso ottenerlo? o nel file js?
Nitesh,

In helper puoi inserire la \Magento\Framework\View\Result\PageFactoryclasse nel tuo costruttore come $pageFactorye quindi chiamare il $pageFactory->getViewFileUrl()metodo. Per i file js non ho idea di come puoi ottenerlo.
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'); ?>"
        }
    }
}

Dovresti usare lo script di inizializzazione del widget di magento per avviare il tuo javascript con l'opzione "imagename" definita. Questa tecnica di inizializzazione viene in genere eseguita in file phtml. Il mio codice presume che la tua immagine sia in Fornitore / Modulo / vista / {frontend | adminhtml} / web / images /

Per ulteriori informazioni, è possibile consultare la documentazione di Magento 2. http://devdocs.magento.com/guides/v2.1/javascript-dev-guide/javascript/js_init.html

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.