Hacía principios de este mes empezaba un Componente para generar presupuestos genéricos. Entre sus características están el uso de JavaScript sin peticiones AJAX, para mejorar su velocidad.
Su nombre viene de ahí: "Presupuestos Mágicos".
Aún está muy verde, o incluso azul, por lo que vamos a testearlo e irlo mejorando. Por ahora no tiene ficheros de idiomas, ni web demo, ni todos los créditos.
Buenas, sólo quería comentaros que ya está liberada la versión 0.3Alpha de este componente, podéis descargarla del JoomlaCode. Tiene dos mejoras importantes, el panel de ayuda, y el autoactualizador del componente.
A ver si me podéis comentar qué os parece aquellos que lo probeis, gracias!
presupuesto predeterminado por si olvidas el parametro básico Id del presupuesto
Excelente esfuerzo Hidabe, aún creo que no estamos listos para poder aprovechar todo el poder que promete este componente, pero creo que va por muy buen camino.
Estuve probandolo un rato y metiendome a las tripas del mismo, entre las cosas que encontré, descubrí que si generas un menú que apunte al componente pero no configuras el parametro básico Id del presupuesto, se produce un error a nivel del front. Hice algunas modificaciones en view.html.php y en default.php para hacer que cargue un presupuesto predeterminado y evitar que eso ocurriera.
Otra cosa que hice fue añadir algunas definiciones al archivo de lenguaje español para que se tradujeran los titulos de la tabla al presentar el presupuesto.
Lo que si no logre mejorar, fue el calculo de los totales el cual por algún motivo no se está realizando.
Procurare colocar los archivos modificados en http://joomlacode.org por si te resultan de utilidad en tus avances.
Buenas David, muchas gracias a ti por probarlo, debugearlo e incluso esforzarte en realizar estos cambios.
Sobre los idiomas, ya he aplicado tus cambios, las 3 líneas que incorporas. Sobre la carga del Form por defecto, el mejor sitio para modificarlo no es en el view.html.php, sino en el modelo, en la función getForm que es la encargada de cargar el formulario, en la línea que pone:
$type_id = $params->get('type_id');
sustituyéndola por $type_id = $params->get('type_id', '1');
ya se arregla.
Se podría mejorar incluso buscando qué formulario es el que existe, porque puede que tengamos un formulario con ID 2 y el 1 lo hayamos borrado... pero vamos, por ahora lo dejamos así, porque lo que haré será requerir este parámetro como obligatorio.
Sobre que no te calcula los precios, supongo que algo se ha estropeado cuando has modificado los view.html.php y default.php, pero con este cambio si los calcula correctamente.
Nuevamente muchas gracias, subo los cambios al SVN.
Un saludo!!
EDITO: Por supuesto, para ver estos cambios puedes actualizar tu componente a la Última versión SVN desde el mismo componente, y así seguir buscando errores
Las gracias son para ti, no solo por tu esfuerzo e iniciativa para desarrollar este componente, sino por tu apertura y receptividad a mis comentarios.
No lo creeras pero en el tiempo que llevo usando joomla, me he encontrado con muchisimos desarrolladores que lejos de considerar propio el recibir un comentario, llegan hasta a ofenderse.
Además también debo agradecer la gentileza que tuviste al mencionarme en el comentario del svn. Eso es aún menos común.
En fin, aprovecho para comentarte que sigo teniendo algunos problemas con el componente.
Por una parte intente aprovechar el JBudgetsMagic Version para actualizar pero me decia que tenía la última versión. Luego me dí cuenta que habías mencionado que lo subirías al SVN pero nunca mencionaste que liberarías una nueva versión estable, por lo cual intente instalar la última revisión del SVN, lo cual luego constaté tampoco funcionó. En vista de ello, procedí a eliminar los archivos vía FTP y a colocar manualmente los archivos en las rutas correspondientes.
El tema es que continúo sin obtener el comportamiento que debería. Te adjunto una imagen para que veas lo que sucede. Observa que no se está efectuando la operación Cantidad * Precio = Total. Además el
Total del Presupuesto ni siquiera aparece. Otro dato curioso es que a pesar de que cantidad es mayor que 0, no aparece seleccionado el checkbox. Si incrementas o decrementas la cantidad, ya se selecciona, pero luego aunque lo coloques en 0 no se deselecciona.
Finalmente está el comentario de que no debería ser posible colocar la cantidad en cero siendo que al configurar los elementos del presupuesto se indico que el valor mínimo era 1.
Por si acaso te resulta de utilidad, te comento la Información del sistema
Configuración: Valor
PHP incrustado: Linux infinity.dnsforhost.com 2.6.18-92.1.13.el5 #1 SMP Wed Sep 24 19:32:05 EDT 2008 x86_64
Versión de la base de datos: 5.0.67-community
Cotejo de la base de datos: utf8_general_ci
Versión de PHP: 5.2.8
Servidor web: Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8b mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
Interfaz del servidor web a PHP: cgi
Versión de Joomla!: Joomla! 1.5.7 Production/Stable [ Wovusani ] 9-September-2008 23:00 GMT
Agente de usuario: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7
Muchas gracias por la información, te cuento:
En realidad no he liberado una versión estable como tal, simplemente la sustituí en el SVN, pero no saqué una nueva versión en número, es decir, sigue siendo la 0.3, por lo que el actualizador te dirá que está ok, es por eso que debes actualizar a la última versión en el SVN (el botón de abajo del todo).
No obstante, si tienes problemas para actualizar mucho me temo que serán problemas de permisos de carpetas, prueba a configurar la capa FTP de Joomla o a reestablecer los permisos, y no deberías tenerlos.
Sobre los errores que comentas, la verdad, no he conseguido reproducirlos, y eso que he probado el componente incluso en IExplorer!! jeje, quizás debas actualizar a un Joomla 1.5.9, aunque creo que no tiene mucho que ver.
Más bien el error creo que puede venir de que no hayas actualizado correctamente el componente, date cuenta de que en el pantallazo que adjuntas, viene el mensaje de "Acerca de..." que puse a modo de debug en la release 0.3, pero que en la última revisión SVN no aparece.
Un saludo, ya me cuentas y muchas gracias por tu ayuda!
pues yo me he descargado el componente y al instalarlo todo va bien pero en el momento que le asigno un boton y entro me aparece el siguiente error
Warning: Invalid argument supplied for foreach() in /home/localhost/public_html/components/com_jbudgetsmagic/models/form.php on line 53
Warning: Invalid argument supplied for foreach() in /home/localhost/public_html/components/com_jbudgetsmagic/models/form.php on line 62
Warning: Invalid argument supplied for foreach() in /home/localhost/public_html/components/com_jbudgetsmagic/models/form.php on line 84
Mensajes del sistema
Elemento Cantidad Precio Total
Warning: Invalid argument supplied for foreach() in /home/localhost/public_html/components/com_jbudgetsmagic/views/form/tmpl/default.php on line 5
y quisiera saber si me pueden ayudar con este problema de antemano estare muy agradecido con ustedes y pues por si me lo piden aquí les coloco el codigo de ese archivo
form.php
Código PHP:
<?php
//----------------------------------------------------------------------
// JBudgetsMagic
// JBudgetsMagic by Fernando Hidalgo - http://www.sopinet.com
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// JBudgetsMagic is free software. This version may have been modified pursuant
// to the GNU General Public License, and as distributed it includes or
// is derivative of works licensed under the GNU General Public License or
// other free or open source software licenses.
//----------------------------------------------------------------------
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.application.component.model' );
class bdgModelForm extends JModel
{
function __construct()
{
parent::__construct();
}
function getElements($type_id) {
$db = &JFactory::getDBO();
$query = ' SELECT b.id, b.price, e.group, e.type_id, b.type, b.title, e.ordering, e.min, e.max, e.def, b.description'
. ' FROM #__bdg_types_elements AS e, #__bdg_items AS b WHERE e.item_id = b.id AND e.type_id = '.$type_id.' ORDER BY e.ordering ASC';
$db->setQuery($query);
$rows = $db->loadObjectList();
return $rows;
}
function getIDs($elements) {
$ids = array();
foreach ($elements as $e) {
$ids[] = $e->id;
}
return $ids;
}
function getItemsDSC($elements) {
$items_dsc = array();
$db = &JFactory::getDBO();
foreach ($elements as $e) {
$query = "SELECT * FROM #__bdg_items_dsc WHERE item_id = ".$e->id;
$db->setQuery($query);
$rows = $db->loadObjectList();
if (count($rows) != NULL)
$items_dsc[$e->id] = $rows;
}
return $items_dsc;
}
function getIDCS($elements) {
$ids = array();
foreach ($elements as $el) {
foreach ($el as $e) {
$ids[] = $e->id;
}
}
return $ids;
}
function getTYPEs($elements) {
$types = array();
foreach ($elements as $e) {
$types[] = $e->type;
}
return $types;
}
}
views/form/tmpl/default.php
Código PHP:
<?php
//----------------------------------------------------------------------
// JBudgetsMagic
// JBudgetsMagic by Fernando Hidalgo - http://www.sopinet.com
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// JBudgetsMagic is free software. This version may have been modified pursuant
// to the GNU General Public License, and as distributed it includes or
// is derivative of works licensed under the GNU General Public License or
// other free or open source software licenses.
//----------------------------------------------------------------------
defined( '_JEXEC' ) or die( 'Restricted access' );
JHTML::_('behavior.tooltip');
JHTML::_('behavior.mootools');
Muchas gracias por el reporte,
Efectivamente se trata de un bug en instalaciones nuevas que se me pasó al subir la 0.3.1, me alegro que haya aparecido tan pronto, y sólo 27 personas se hayan descargado esta versión.
Te ruego que lo desinstales, lo vuelvas a descargar, instalar y probar, importante: borra las tablas manualmente desde phpmyadmin antes de volver a instalar, ya que el desinstalador no te las borra.
gracias hermano por tu pronta respuesta en este momento lo descargare de nuevo me imagino que desde el mismo link donde lo colocaste ¿? espero que si jajaja cualquier problema que le encuentre te lo hago saber gracias por este componente que se ve tan interesante por cierto como le hago para que la gente seleccione el presupuesto que necesita es que veo que el tuyo trae dos presupuestos de ejemplo pero nomas puedo seleccionar el básico el otro no aparece entonces como puedo hacer para que la gente seleccione el presupuesto ? si no es mucha molestia jeje
Puedes crear un enlace al presupuesto creando un elemento de menú en tu Joomla, le especificas el ID en los parámetros del enlace de menú y con esto le dices el presupuesto que quieres mostrar.
El ID te aparece en la parte derecha del listado de presupuestos del administrador.