27. febrero 2009

3 Comentarios

Mostrar atributos en el listado de productos

Por defecto Magento no carga todos los atributos de un producto cuando estamos mostrando el listado de productos de una categoría. Esto se hace para evitar tener que cargar una cantidad exagerada de atributos cuando tan sólo es necesario lo básico: nombre, imagen, precio… el resto de atributos se mostrarán en la ficha de cada producto.

Sin embargo es muy sencillo mostrar atributos, que no se cargan por defecto, en el listado de productos de nuestras categorías. Gracias a la potencia y escalabilidad de Magento podemos realizar esto sin tener que tocar el código del núcleo.

Lo primero que tendremos que tener es nuestro atributo creado y correctamente clasificado (y con datos) en la ficha de nuestro producto. Para añadir un atributo lo haremos desde el menú de Catálogo y en Gestionar atributos. Después asignaremos el atributo creado a un grupo de datos (los bloques que aparecen a la izquierda en la edición de una ficha de producto) desde Gestionar bloques de atributos.

Una vez realizado los pasos necesarios en la administración, vamos a editar el fichero XML correspondiente dentro de la carpeta ‘layout’ de nuestra plantilla para Magento.

[...]

Popularity: 13% [?]

Continua leyendo...

26. febrero 2009

1 Comentario

[SEGURIDAD] 3 fallos XSS en el admin de Magento

Security Focus ha revelado antes de ayer 3 fallos de seguridad por inyección XSS relativos a 3 paginas del admin:

  1. El downloader (www.dominio.com/magento/downloader): Para verlo, ir a http://www.dominio.com/magento/downloader?return=%22%3Cscript%3Ealert(xss)%3C/script%3E.
    Para corregirlo, abrir /downloader/Maged/Model/Session.php y reemplazar las lineas 60-62:

    60
    61
    62
    
            if (!empty($_GET['return'])) {
                $this->set('return_url', $_GET['return']);
            }

    por estas:

    60
    61
    62
    
            if (!empty($_GET['return'])) {
                $this->set('return_url', htmlentities($_GET['return']));
            }
  2. Login del administración: Para verlo, poner
    "><script>alert('xss')</script>

    en el campo Nombre de Usuario y lo que sea en de contraseña.
    Para corregirlo, abrir app\design\adminhtml\default\default\template\login.phtml y reemplazar la linea 54:

    54
    
                            <input type="text" id="username" name="login[username]" value="<?php echo $username ?>" class="required-entry input-text" /></div>

    con

    54
    
                            <input type="text" id="username" name="login[username]" value="<?php echo htmlentities($username) ?>" class="required-entry input-text" /></div>
  3. La pagina que reenvia la contraseña del administrador: Para verlo ir a Para verlo, ir a http://www.dominio.com/magento/admin/admin/index/forgotpassword/ y hacer lo mismo que en el punto 2.
    Para corregirlo, abrir app\design\adminhtml\default\default\template\forgotpassword.phtml y reemplazar la linea 58:

    58
    
                            <input type="text" id="email" name="email" value="<?php echo $email ?>" class="required-entry input-text forgot-password" style="width:461px;" />

    con

    58
    
                            <input type="text" id="email" name="email" value="<?php echo htmlentities($email) ?>" class="required-entry input-text forgot-password" style="width:461px;" />

De todas formas, como regla general nunca entrar en el admin a partir de un enlace que os pasan, así se evitan estos peligros. Cuando cambiais el código, cuidado con las comillas, que no sé si copiaran bien o no (de lo que he probado si se guardan bien, pero estad atento ;) )
Lo he visto donde nuestros vecinos franceses.

Edito: para completar este tema, en el blog oficial explican que una buena practica es de cambiar el nombre del admin,o sea en vez de tener el panel de administración en http://www.midominio.com/magento/admin algo como http://www.midominio.com/magento/loqueyodiga .
Esto se puede especificar en el proceso de instalación de la tienda, pero por si lo queremos cambiar despues, en una tienda en funcionamiento, hay que editar el archivo app/etc/local.xml cambiando el valor de admin->routers->adminhtml->args->frontName:

53
54
55
56
57
58
59
60
61
     <admin>
        <routers>
            <adminhtml>
                <args>
                    <frontName><![CDATA[loqueyodiga]]></frontName>
                </args>
            </adminhtml>
        </routers>
     </admin>

Popularity: 6% [?]

Continua leyendo...

25. febrero 2009

0 Comentarios

Magento Versión 1.2.1.1

Nueva versión disponible que soluciona varias bugs.

Recordar que es mejor no actualizar directamente en producción.

Popularity: 6% [?]

Continua leyendo...

22. febrero 2009

3 Comentarios

completar la instalación

Después de instalar magento (cfr nuestros manuales o un howto incluyendo la instalación del servidor wamp en windows xp), hay una serie de pasos que seguir para poder empezar a trabajar.
Vamos a repasar estos pasos.

  • magentoconnect:
    Cuando entramos por primera vez al magentoconnect (System->Magento Connect->Magento Connect Manager) no aparece nada. Para ver la lista de modulos (core+extensiones instaladas) basta pegar en el cuadro de texto “Paste extension key to install” esto:

    magento-core/Mage_All_Latest

    y luego dar al botón install.

  • Instalar el idioma español:
    Nos quedamos en el Magento Connect Manager y vamos a la pestaña Settings. En el desplegable Preferred State seleccionamos Beta y guardamos el cambio con el botón “Save Settings”. Volvemos en la pestaña Extensions y pegamos

    magento-community/Locale_Mage_community_es_ES
  • Crear el tema:
    Para evitar que desaparezcan los cambios de diseño que hacemos a cada actualización de Magento, vamos a trabajar con nuestro propio tema. Dentro de /app/design/frontend/default/ creamos un directorio que llamamos mi_tema, por ejemplo y pegamos el contenido de /app/design/frontend/default/default/ dentro. Hacemos lo mismo en el directorio skin/frontend/default/.
    Ya podemos activar nuestro tema, en Sistema->Configuración->(General)Diseño la pestaña Temas en el campo Por defecto ponemos mi_tema (o como sea que hayamos llamado el directorio).

Y ya estamos listos para empezar a trabajar en nuestra tienda. Os recomiendo leer los tutoriales y las preguntas frecuentes del foro para seguir avanzando.

Popularity: 11% [?]

Continua leyendo...

25. enero 2009

0 Comentarios

Magento Versión 1.2.0.3

Magento viene con una nueva versión que corrige los siguientes fallos:

  • Fixed Google Website Optimizer scipts on CMS pages
  • Fixed category attributes codes for Google Website Optimizer
  • Fixed configuration of merchant calculated shipping methods in Google Checkout
  • Fixed #10102: Capture online invoice using default profile settings instead of website settings
  • Fixed #10301: Google website optimizer – script not installed correct
  • Fixed #9793: Magento 1.2.0 – Undefined variable – Admin

Como siempre NO se recomienda actualizar en producción, pero para facilitar las cosas tenemos la diferencia de cambios respecto a la versión anterior.

    Popularity: 6% [?]

    Continua leyendo...

    31. diciembre 2008

    0 Comentarios

    Magento Versión 1.2.0.1

    Nueva versión que corrige dos fallos.

    • Fixed checking customer ID in download controller
    • Fixed “Incorrect table name…” SQL error during upgrade on some MySQL versions

    NO PROBAR EN PRODUCCIÓN.

    Popularity: 6% [?]

    Continua leyendo...