¿Cómo incluyo imágenes en un módulo de Magento?
Frecuentes
Visto 3,224 equipos
0
Quiero que las imágenes se muestren en la página web, pero incluidas en el módulo de Magento.
- en que carpeta los pongo
- ¿Cómo me refiero a ellos? (Necesitaré una variable para la ruta del módulo).
La documentación, varios tutoriales externos y una búsqueda en Google no brindan ayuda.
Todo lo que veo debajo design/frontend/default/default
carpeta es etc
layout
locale
template
y no hay donde poner imágenes.
¿Los pongo en el skin/frontend/default
¿carpeta? ¿Si es así, donde?
2 Respuestas
9
Suponiendo que su módulo se aplica a Magento 1.4+, sus imágenes pertenecen a ./skin/frontend/base/default/images/
, idealmente en una carpeta que indique el espacio de nombres y el nombre de su módulo, por ejemplo namespace_module
. Luego pueden ser referenciados de las siguientes maneras:
Un archivo CSS de módulo en
base/default/css/namespace_module/file.css
:url(../../images/namespace_module/image.jpg)
Una plantilla (o bloque):
$this->getSkinUrl('images/namespace_module/image.jpg')
En cualquier lugar:
Mage::getDesign()->getSkinUrl('images/namespace_module/image.jpg');
FYI, nada bajo el ./app/
Se accede al directorio (debería ser accedido) directamente por el navegador.
Respondido 01 Jul 12, 20:07
1
Una alternativa a enviar su imagen como parte de su extensión es alojarla en su servidor web (o de otra persona) y luego inclúyalo por URL en su extensión.
Si ese es el caso, y desea que la imagen aparezca en sus páginas de administración básicas, simplemente coloque html directamente en su system.xml (escápelo primero). De lo contrario, si lo incluye en sus plantillas, póngalo con un img
etiqueta html.
Un par de beneficios de este enfoque:
1) Puede mirar sus registros de Apache cada mes y ver cuántas veces se vio su imagen (es decir, cuántas personas están instalando su extensión) y también, desde el encabezado HTTP de referencia, puede ver qué sitios también lo están usando.
2) Cuando se adquiere su exitosa empresa de Internet, puede intercambiar fácilmente un logo.jpg diferente en su servidor web, sin tener que implementar una nueva versión de su extensión.
Entonces no es el manera correcta, pero es una manera simple con un par de beneficios.
Respondido 02 Jul 12, 09:07
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas magento or haz tu propia pregunta.
Cuando tu dices espacio de nombres del módulo y luego nombre, ¿eso significa que puedo tener mi
/desbest/showdown
carpeta dentro delskin/frontend/default
carpeta y tenerMage::getDesign()->getSkinUrl
señalar eso? - desmejorarEs sólo una cuestión de preferencia. Por convención, diría que coloque sus carpetas dentro de cada carpeta de tipo de activo (css, image, js). los
Mage::getDesign()->getSkinUrl()
siempre apuntará al tema configurado, que recurrirá abase/default
. - Benmarksestoy haciendo un magento módulo, no un tema. Debido a que estoy usando el tema predeterminado, siempre vuelve a
base/default
. Quiero incluir imágenes dentro de mi módulo, así que necesito saber exactamente cómo hacerlo. - desmejorarEs inútil apuntar mis carpetas de activos al tema específico, porque la persona que usa mis módulos podría cambiar el tema. Eso haría que los activos de mi módulo (img/css/js) como roto Quiero crear carpetas de activos para módulos y no para un tema. - desmejorar
... que es lo que he explicado aquí. Los activos del tema de Magento vuelven al tema base/predeterminado, bajo el cual debe colocar sus activos. Consulte Mage_Core_Model_Design_Package para obtener información detallada. - Benmarks