Jorge
This user hasn't shared any profile information
Posts by Jorge
Poner una imagen del skin dentro del CMS de Magento
0Es recurrente tener que poner una imagen que forma parte del skin dentro de un bloque estático o una página CMS de Magento.
Es tan sencillo como poner la siguiente sentencia dentro del src de la imagen {{skin url=’images/nombre_de_la_imagen.gif’}}
Hay que tene en cuenta que esto hay que hacerlo editando el código HTML de la página o bloque.
Como todo en Magento, si la imagen no existe la buscara en los skins padres.
Agregar atributos a una categoría de Magento
0
Muchas veces es necesario ampliar la información que aporta las categerias de magento, por ejemplo con otra descripción u otra imagen.
He visto 2 soluciones:
- Onsertando un nuevo registro de forma manual directamente en la tablas (eav_attibute, etc…). No es muy recomendable ya que además según el atributo y para que necesitas escribir en varias tablas
- Haciendo un pequeño componente que usaremos una vez y luego borraremos. El proceso es parecido a el sistema de actulización de atributos que explican en la wiki de Magento. Aquí explicaré como hacerlo y al final dejaré el zip por si se quiere descargar
El módulo lo llamaremos AddAttributeCategory y constará de 3 ficheros. El primero situado en app\code\local\DD\AddAttributeCategory\etc\config.xml que configura el módulo
<config> <modules> <DD_AddAttributeCategory> <version>0.1.0</version> </DD_AddAttributeCategory> </modules> <global> <resources> <AddAttributeCategory_setup> <setup> <module>DD_AddAttributeCategory</module> <class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class> </setup> <connection> <use>core_setup</use> </connection> </AddAttributeCategory_setup> </resources> </global> </config> |
El siguiente fichero será el cual realiza la acción de añadir el atributo. Está dentro del fichero de instalación situado en app\code\local\DD\AddAttributeCategory\sql\addattributecatalog_setup\mysql4-install-0.1.0.php
<?php $installer = $this; $installer->startSetup(); $installer->addAttribute('catalog_category', 'imagen_destacados', array( 'type' => 'varchar', 'backend' => 'catalog/category_attribute_backend_image', 'frontend' => '', 'label' => 'Imagen Destacados', 'input' => 'image', 'class' => '', 'source' => '', 'global' => 0, 'visible' => 1, 'required' => 0, 'user_defined' => 0, 'default' => '', 'searchable' => 0, 'filterable' => 0, 'comparable' => 0, 'visible_on_front' => 0, 'unique' => 0, 'position' => 1, )); $installer->endSetup();?> |
Finalmente activamos en nuevo módulo en magento mediante el fichero app\etc\modules\DD_AddAttributeCategory.xml
<config> <modules> <DD_AddAttributeCategory> <active>true</active> <codePool>local</codePool> </DD_AddAttributeCategory> </modules> </config> |
Ya solo queda entrar en el backend y ver que, efectivamente se muestra este nuevo atributo.
Es recomendable una vez ejecutado borrar el módulo ya que en algunos casos vuelve a intentar crear el atributo y produce un error. No olvidar desactivas la cache antes de realizar nada.
Comentar que se pueden añadir atributos nuevos, usando los modelos de Magento o se pueden crear unos propios (p.e combos con valores). Para eso añadiremos el fichero \code\local\DD\AddAttributeCategory\Model\Entity\Attribute\Source\addattributecatalog.php
class DD_AddAttributeCategory_Model_Entity_Attribute_Source_Test extends Mage_Eav_Model_Entity_Attribute_Source_Table { public function getAllOptions() { return array( array( 'value' => 'none', 'label' => Mage::helper('adminhtml')->__('Nada') ), array( 'value' => 'prueba1', 'label' => Mage::helper('adminhtml')->__('Prueba 1') ), array( 'value' => 'prueba2', 'label' => Mage::helper('adminhtml')->__('Prueba 2') ) ); } }
y finalmente ampliaremos el fichero de configuracion de nuestro modulo app\code\local\DD\AddAttributeCategory\etc\config.xml con
<config> <modules> <DD_AddAttributeCategory> <version>0.1.0</version> </DD_AddAttributeCategory> </modules> <global> <resources> <AddAttributeCategory_setup> <setup> <module>DD_AddAttributeCategory</module> <class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class> </setup> <connection> <use>core_setup</use> </connection> </AddAttributeCategory_setup> </resources> <models> <addattributecategory> <class>DD_AddAttributeCategory_Model</class> </addattributecategory> </models> </global> </config> |
Puedes descargarlo pulsando e DD_AddAttributeCategory. El código incluye solo las parte de ejemplo que añade una imagen adicional.
Campo observaciones en el chekout de Magento
01. Ir a Magento Connect e instalar “Customer Order Comment Extension”
2. Actualiza la plantilla de Magento
Busca la plantilla de ejemplo en /app/code/community/Biebersdorf/CustomerOrderComment/design/ y copia estos ficheros en las carpetas correspondientes de tu plantilla o modifica los tuyos.
Para modificar el texto mostrado modifica esta linea en tu plantilla templates -> helper(‘biebersdorfcustomerordercomment’)->__(‘How did you hear about us?’) ?>
Si no hay agreements no se muestra así que recomiendo sacarlo de dentro del if y ponerlo arriba del todo.
3. Solucionado
Como siempre asegurate de tener la cache desactivada.
Editar fichero po de traducción gettext
1Aunque no tengo gran experiencia en este tipo de cosas, últimamente me he encontrado en la necesidad de personalizar algunas traduccciones para algunas webs ya creadas, incluso con fichero de traducciones ya creados sobre los que traducir. Está cada vez mas extendido usar la biblioteca Gettext para la traducción de sitios. Como decia ya lo implementan muchos CMS, uno de ellos el propio wordpress.
Al grano, para modificar las traducciones disponemos de un fichero con extensión .po y otro generado a partir de este con extensión .mo.
En realidad se puede editar con cualquier editor de texto y luego compilarlo pero puede resultar un poco pesado. Para ahorrar tiempo existen múltiples editores para este tipo de ficheros. Yo he probado Poedit y lo recomiendo. Tiene versión para múltiples plataformas y logicamente es multilenguaje.
Su instalación es muy rápida y una vez ejecutado mostrará en 2 columnas el idioma original y su traducción. Es muy comodo.
Por defecto, al darle a guardar, genera solo el archivo .mo compilado aunque se puede configurar desde preferencias para que no lo haga.
También dispone de un sistema de traducción automática, aunque como todo lo traducido automáticamente no es muy fiel.
Fatal error: Call to a member function extend() on a non-object in \app\code\core\Mage\Core\Model\Mysql4\Config.php on line 115
0He sacado la información de esta web
http://blog.osnova.co.uk/2009/11/07/magento-fatal-error-call-to-a-member-function-extend-on-a-non-object
Lo expongo aqui en español:
Para solucionar este problema hay 2 vias:
Antes de importas la base de datos:
- Insertar la query
SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”;
al principio del script sql de importación
o
Despues de la importacion
- Ejecutar el siguiente query
UPDATE `core_store` SET `store_id` = 0 WHERE `code` like ‘admin’;
UPDATE `core_website` SET `website_id` = 0 WHERE `code` like ‘admin’;
UPDATE `customer_group` SET `customer_group_id` = 0 WHERE `customer_group_code` like ‘NOT LOGGED IN’;
Actualizar Samsung Galaxy S
0Aqui dejo un enlace muy interesante ara actualizar el Samsung Galaxy S
http://www.htcmania.com/showthread.php?t=142994
Google Adwords conversion tracking para Magento
0Es mas que probable que en una tienda hecha con magento nos interese saber las conversiones en ventas mediante adwords.
Partiendo de la lógica que supone el hecho de querer anotarlo cuando la venta sea succeful tenemos 2 opciones:
- Componente: En la página de incohoo http://inchoo.net/ecommerce/magento/magento-and-google-adwords-conversion-tracking/ podemos descargar un componente que nos realiza la inserción automática del código. Su configuración se realiza desde el administrador y solo tienes que rellenar los parametros que adwords te proporciona.
- Manualmente: También en inchoo http://inchoo.net/ecommerce/magento/add-adwords-tracking-code-to-order-confirmation-page-in-magento/ nos explica una idea de como hacerlo o como hemos encontrado en infinidad de sitios que es:
- Abrir el fichero app/design/frontend/default/yourskinname/template/checkout/success.phtml
- Al final del fichero insertar el codigo
<?php
$order_details = Mage::getModel(‘sales/order’)->loadByIncrementId(Mage::getSingleton(‘checkout/session’)->getLastRealOrderId());
$adwords_saleamt = $order_details->subtotal;
?> - Accede a tu cuenta adwods y en la pestaña “Informes” haz click sobre “conversiones”. Sigue los pasos hasta conseguir el codigo para insertar. El codigo suele ser algo asi
<!– Google Code for Sale Conversion Page –>
<script type=”text/javascript”>
<!–
var google_conversion_id = 0987654321;
var google_conversion_language = “en”;
var google_conversion_format = “3″;
var google_conversion_color = “ffffff”;
var google_conversion_label = “KFKFKFKFKFKF”;
var google_conversion_value = 0;
if (<?php echo $adwords_saleamt; ?>) {
google_conversion_value = <?php echo $adwords_saleamt; ?>;
}
//–>
</script>
<script type=”text/javascript” src=”https://www.googleadservices.com/pagead/conversion.js”>
</script>
<noscript>
<div style=”display:inline;”>
<img height=”1″ width=”1″ style=”border-style:none;” alt=”” src=”https://www.googleadservices.com/pagead/conversion/0987654321/?value=150&label=KFKFKFKFKFKF&guid=ON&script=0″/>
</div>
</noscript> - Finalmente pega este código abajo del todo del fichero abierto en el punto 1
Copia de seguridad para WordPress
0Para hacer copias hay multiples opciones.
Yo he probado varias que me han resultado bastante interesantes.
1.- Snapshot: Es un plugin que hace una copia de todo, BD y ficheros y te lo sube a un FTP o te lo descargas en el momento.
Solo tiene un problema (que no lo es) y es que solo funciona en servidores Linux.
Snapshot backup en el repositorio de WordPress
2.- Una mezcla de un plugin
2.1- WP DB backup que te genera una copia de la BD.
2.2 – Por FTP descargandote los ficheros
He visto que hay algun otro que te descarga solo la parte personalizada de wordpress (images, plugins themes) incluso puedes programarla, pero casi todos para que funcionen bien necesitan linux (normal por otra parte).
De todos modos la primera opción es la que mas interesante pinta.
Copias de seguridad joomla
0Hacer una copia de seguridad de joomla o un cambio de servidor con joomla puede llegar a ser un autentico dolor de cabeza ya que, en muchas ocasiones, nos encontramos con problemas (como por ejemplo que no funciona phpmyadmin).
Esto se soluciona de manera muy facil con el componene de akeeba http://www.akeebabackup.com.
BAsicamente las instrucciones son instalar el akeebabackup y, realizar la copia.
Para restaurar facilmente está akeeba Kickstar el cual lo subes al nuevo server lo ejecutas, le pasas el fichero de backup y ya esta todo restaurado.
En http://www.solojoomla.com/akeeba-backup-copia-de-seguridad-joomla.html hay info de akeebackup
En http://www.video-tutorial-joomla.com/plugins-joomla/akeeba-kickstart.html hay un tutorial de kickstar
Recuperar administrador magento
1Aunque nunca debería ocurrir puede que se olvide la contraseña de administrador y que el envio de contraseñas no funcione. ¿Qué hacemos en esos casos?
Si podemos entrar a la BD con algún administrado podemos sustituir la contraseña, que estará encriptada, por esta
04916760f92deb05d911581176305dd6:KC
Esta contraseña es 123456.
Solo tendremos que volver a entrar al admin con la contraseña 123456 y “voila”.
Solo nos queda cambiar la contraseña por una de nuestro agrado.