|
Bueno hoy voy a escribir sobre como añadir el atributo title y con esta técnica cualquier otro atributo necesario y posible en un enlace, esto es un hack al core de Joomla! así que hemos de tener en cuenta que cualquier actualización que afecte al sistema de menús llevará al traste nuestro trabajo pero hay veces que hay que hacer estas cosas aunque nos pese por complacer los deseos de un cliente.
Lo primero que debemos hacer es añadir un nuevo campo a la tabla #__menu de nuestra base de datos llamado "title" con ponerle varchar (100) supongo que debe ser suficiente e incluir dicho campo en el objeto table adecuado que podremos encontrar en libraries/joomla/database/table/menu.php donde añadiremos una propiedad más a la clase, quedando así:
Una vez hecho esto añadiremos un nuevo inputbox en la administracion del menú y con eso ya tendremos la parte administrativa lista para aceptar este nuevo campo en la base de datos, editaremos el archivo administrator/components/com_menus/views/item/form.php donde creamos que nos conviene más añadir el campo con esta porción de código:
<tr>
<td align="right">
<?php echo JText::_( 'Titulo' ); ?>:
</td>
<td>
<input type="text" name="title" size="50" maxlength="255" value="<?php echo $this->item->title; ?>" />
</td>
</tr>
Ahora le toca al módulo mod_mainmenu en el frontend encargado de mostrarnos el menu con los enlaces introducidos en el backend, lo encontraremos como no en modules/mod_mainmenu/helper.php, casi al final del código encontramos un switch con 3 casos, editaremos los dos primeros dejandolos de esta manera:
default:
case 0:
// _top
$data = '<a title="'.$tmp->title.'" href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
break;
case 1:
// _blank
$data = '<a title="'.$tmp->title.'" href="'.$tmp->url.'" target="_blank">'.$image.$tmp->name.'</a>';
break;
De esta forma ya en navegadores modernos obtenemos una etiqueta flotante con el título pero podemos embellecerlo un poco más añadiendo alguna clase en la etiqueta <a> y con jquery u otra librería javascript obtener fantásticas burbujas editables con css, en mi caso utilice vtip de jquery.
|
|
Last Updated on Saturday, 03 July 2010 01:03 |
|
|
Hoy he tenido que hacer una modificación sobre Virtuemart en la que se me solicitaba que el precio mínimo para que el envío fuese gratuito estuviese restringido según el país y la provincia del usuario, así que como es costumbre para ayudar a la comunidad y tener un sitio donde poder escribir las cosas y no olvidarme voy a tomar nota en este artículo.
Lo primero que debemos hacer es abrir el archivo administrator/components/com_virtuemart/classes/ps_checkout.php y buscar la siguiente linea:
if( $vendor_freeshipping > 0 && $vars['order_subtotal_withtax'] >= $vendor_freeshipping) {
Encima de esta linea haremos una consulta a la base de datos para extraer informacion del usuario en linea y crearemos dos arrays uno con los paises aceptados y otro con las provincias excluidas, ahi ya cada uno pone lo que necesita o prescinde de uno u el otro array:
$db = new ps_DB;
$q = "SELECT country,state from #__{vm}_user_info WHERE user_id = '" . $vars["user_id"] . "'";
$db->query($q);
$country = $db->f("country");
$state = $db->f("state");
$pais = array("ESP", "PRT");
$estado = array(35,38,51,52);
Por último modificamos la sentencia if que hemos buscado al principio de forma que quede asi:
if( $vendor_freeshipping > 0 && $vars['order_subtotal_withtax'] >= $vendor_freeshipping && in_array($country, $pais)) { if(in_array($state, $estado)) { return false; }
De esa forma primero comprobara que el usuario es del pais correcto para optar al porte gratuito si su compra supera el valor especificado en la configuración de la tienda, y luego dentro de la clausula volvemos a comprobar si este usuario es de una de esas provincias, en este caso Ceuta, Melilla, Las Palmas y Santa Cruz de Tenerife saliendo del script si es cierto.
|
|
Last Updated on Wednesday, 30 June 2010 17:59 |
|
Necesitaba modificar el módulo Latests news de Joomla! para que mostrará la fecha y os traigo aquí una solución para ello, lo primero que debemos hacer es modificar el archivo helper.php del módulo en la linea 114 dentro del bucle añadiremos a continuación esta nueva linea:
$lists[$i]->created = JHTML::_('date', $row->created, JText::_('DATE_FORMAT_LC4'));
Luego en el archivo default.php podemos llamar al campo created donde deseemos, por ejemplo:
<?php echo $item->created; ?><br/>
<a href="/<?php echo $item->link; ?>"><?php echo $item->title; ?></a>
|
|
Last Updated on Sunday, 27 June 2010 11:44 |
|
Hoy voy a escribir la solución a un problema con el que me he encontrado recientemente haciendo unos websites con Virtuemart, se trata de que no hay ningún módulo como el latest products o el featured que muestre la descripción corta del producto y yo precisamente necesitaba que hiciese eso, pues bien la solución es la siguiente:
Debemos editar el archivo administrator/components/com_virtuemart/classes/ps_product.php en la linea 2418 buscamos la consulta a la base de datos
$q = "SELECT product_id, product_name, product_parent_id, product_thumb_image FROM #__{vm}_product WHERE product_sku='$product_sku'";
Debemos añadir en ella el campo de la descripción corta quedando así:
$q = "SELECT product_id, product_name,product_s_desc, product_parent_id, product_thumb_image FROM #__{vm}_product WHERE product_sku='$product_sku'";
Vamos a la linea 2422 donde pone:
$product_id = $db->f("product_id" );
Y debajo mismo añadimos:
$product_s_desc = $db->f("product_s_desc" );
Buscamos en la linea 2429 la coincidencia con:
$tpl->set( 'show_product_name', $show_product_name );
Justo debajo añadiremos:
$tpl->set( 'product_s_desc', $product_s_desc );
Ya solo nos queda editar el archivo que hace las veces de template en components/com_virtuemart/themes/default/templates/common/productsnapshot.tpl.php donde añadiremos donde deseemos que aparezca la descripción:
|
|
Graciosamente la mayoria de los foros de software moderados cuando un usuario cuelga un link de descarga tipo rapidshare es invitado amistosamente por uno de los moderadores a quitar el link con la excusa de que en dicho foro no se permiten links de descargas ilegales.
Es gracioso porque aunque se trate de una extensión comercial si esta esta escrita bajo la licencia gnu/gpl puede compartirse libremente con terceros y esas páginas son un mecanismo para poder compartirlo con quien tu desees... Vamos que en realidad el usuario no esta cometiendo ninguna falta a ningun derecho de autor.
La licencia gnu esta mal entendida por la mayoría, en el JED (Joomla! Extensions Directory) podemos encontrar diversas aplicaciones presuntamente gnu que tienen sistemas como un uso por dominio por ejemplo.... señores eso no es gnu, cuando uno compra un producto gnu es libre de usarlo, modificarlo y redistribuirlo manteniendo la licencia original, ya no quiero ni hablar de codigos encriptados y demás barbaridades que se encuentran bajo ese tipo de licencia.
|
|
Last Updated on Saturday, 15 May 2010 18:49 |
|
|
|
|
<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>
|
|
Page 1 of 11 |