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?
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?
Risposte:
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'); ?>" />
\Magento\Framework\View\Result\PageFactory
classe nel tuo costruttore come $pageFactory
e quindi chiamare il $pageFactory->getViewFileUrl()
metodo. Per i file js non ho idea di come puoi ottenerlo.
Mi piace base-64 codificare i miei PNG e incorporarli. Uso 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'); ?>"
}
}
}
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