Los problemas que tuve para configurar correctamente Eprint y activar los servicios web de la impresora se solucionaron siguiendo los pasos que se describen en el enlace al pie de esta entrada. Lo solucioné entrando con el navegador en la dirección IP de la impresora, que ya estaba conectada a la red inalámbrica, y configurar una IP nueva "sugerida". También rellené las DNS de la siguiente forma: 8.8.8.8 y 8.8.4.4. Cuando activamos Eprint desde le panel de la impresora, ésta imprime una hoja con la clave de la impresora .
Dentro de la web https://h30495.www3.hp.com/ hay que añadir la clave de la impresora. También se puede configurar varias opciones: personalizar el correo de la impresora las direcciones de correo que pueden mandar documentos para imprimir, y una opción más para imprimir en color o blanco y negro.
http://h30467.www3.hp.com/t5/Consejos-de-Expertos/Resoluci%C3%B3n-de-problemas-de-conectividad-de-ePrint/td-p/102321
Nuevo Documento de texto
Programación y diseño web. Ejemplos, ejercicios, manuales y apuntes generales sobre HTML, CSS, PHP, MySQL, Tcl. Posicionamiento web, tiendas online, comercio electrónico con Prestashop. Uso de aplicaciones de código abierto (open source).
martes, 14 de mayo de 2013
domingo, 5 de mayo de 2013
Crear un PDF a partir de código HTML
Nada como esta clase: HTML2PDF.
http://html2pdf.fr/es
Copio en esta entrada el ejemplo más básico que los creadores de esta clase publican en su página:
<?php
$content = "
<page>
<h1>Exemple d'utilisation</h1>
<br>
Ceci est un <b>exemple d'utilisation</b>
de <a href='http://html2pdf.fr/'>HTML2PDF</a>.<br>
</page>";
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->WriteHTML($content);
$html2pdf->Output('exemple.pdf');
?>
http://html2pdf.fr/es
Copio en esta entrada el ejemplo más básico que los creadores de esta clase publican en su página:
<?php
$content = "
<page>
<h1>Exemple d'utilisation</h1>
<br>
Ceci est un <b>exemple d'utilisation</b>
de <a href='http://html2pdf.fr/'>HTML2PDF</a>.<br>
</page>";
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->WriteHTML($content);
$html2pdf->Output('exemple.pdf');
?>
jueves, 28 de marzo de 2013
FacetoFace: un juego de navegador
FacetoFace es una página web que muestra las imágenes de un directorio, en formato HTML y con estilo CSS, mediante reglas determinadas por programación PHP. En un lado se incluye un formulario que permite modificar el aspecto y el contenido de la tabla.
Visita FacetoFace <<
Juegos posibles
El juego se crea con reglas predeterminadas de repetición: ninguna repetición, una imagen dos veces, dos imágenes tres veces... Se han implementado varias opciones, aunque lo ideal sería mostrar las opciones que permita cada tablero según su tamaño.
Según el tipo de juego seleccionado se generan tablas de características por defecto o especificadas por el formulario. Las imágenes están contenidas en enlaces con las futuras variables que serán los atributos del objeto
Los enlaces de clase "correcto" serán los correspondientes a imágenes repetidas, los demás tendrán la clase "fallo" (cualquier imagen no repetida). Al fallar, el juego deberá comportarse así:
1- Se resetea y empieza desde el principio, o bien
2- Se resetea n pasos hacia atrás, o
3- No sufre cambios
Las vidas, los puntos, las monedas
Podría establecerse un sistema para quitar o poner vidas, puntos y monedas, valores iniciales y maneras de perder, y crearse un "mercado", o un sistema de mejora de habilidades, para cada jugador (otro objeto).
El Ranking
Los jugadores que acumulen puntos, niveles terminados y monedas entrarán automáticamente en una clasificación de jugadores.
Visita FacetoFace <<
Juegos posibles
El juego se crea con reglas predeterminadas de repetición: ninguna repetición, una imagen dos veces, dos imágenes tres veces... Se han implementado varias opciones, aunque lo ideal sería mostrar las opciones que permita cada tablero según su tamaño.
Según el tipo de juego seleccionado se generan tablas de características por defecto o especificadas por el formulario. Las imágenes están contenidas en enlaces con las futuras variables que serán los atributos del objeto
Los enlaces de clase "correcto" serán los correspondientes a imágenes repetidas, los demás tendrán la clase "fallo" (cualquier imagen no repetida). Al fallar, el juego deberá comportarse así:
1- Se resetea y empieza desde el principio, o bien
2- Se resetea n pasos hacia atrás, o
3- No sufre cambios
Las vidas, los puntos, las monedas
Podría establecerse un sistema para quitar o poner vidas, puntos y monedas, valores iniciales y maneras de perder, y crearse un "mercado", o un sistema de mejora de habilidades, para cada jugador (otro objeto).
El Ranking
Los jugadores que acumulen puntos, niveles terminados y monedas entrarán automáticamente en una clasificación de jugadores.
miércoles, 27 de marzo de 2013
Fragmento de programación de módulo Prestashop 1.4.3
MySQL:
ps_order_history es la tabla donde se guarda el historial de los pedidos. En concreto se guarda un registro por cada cambio de estado de los pedidos.
****
id_order_history - el campo id de esta tabla
id_employee - (id del usuario logueado en el Back Office)
id_order
id_order_state (valor de un campo de la tabla anterior)
*****
La siguiente consulta devolvería una lista de los últimos identificadores del estado de cada pedido.
SELECT id_order_state FROM ps_order_history ORDER BY date_add DESC LIMIT 1";
PHP:
Con PHP ampliaremos la consulta con una cláusula WHERE, quedando la consulta así:
SELECT id_order_state FROM ps_order_history WHERE id_order=".$pedido." ORDER BY date_add DESC LIMIT 1
Donde $pedido será un elemento de un array a recorrer con un bucle PHP (un bucle for, por ejemplo).
ps_order_history es la tabla donde se guarda el historial de los pedidos. En concreto se guarda un registro por cada cambio de estado de los pedidos.
Hay una entrada por cada cambio que se haya producido en el estado de cada pedido, por lo que lo usual es que cada pedido tenga varias filas de esta tabla.
Tendremos que introducir valores en la tabla.
id_order
id_order_history - Último cambio de estado.
id_order_state - Estado del pedido.
id_employee - Empleado.
date_add - Fecha actual.
Tendremos que introducir valores en la tabla.
id_order
id_order_history - Último cambio de estado.
id_order_state - Estado del pedido.
id_employee - Empleado.
date_add - Fecha actual.
De esta tabla nos interesa especialmente el campo id_order_state.
****
Todos los estados posibles de los pedidos están en la tabla ps_order_state. Sus campos:
id_order_history - el campo id de esta tabla
id_employee - (id del usuario logueado en el Back Office)
id_order
id_order_state (valor de un campo de la tabla anterior)
*****
La siguiente consulta devolvería una lista de los últimos identificadores del estado de cada pedido.
SELECT id_order_state FROM ps_order_history ORDER BY date_add DESC LIMIT 1";
PHP:
Con PHP ampliaremos la consulta con una cláusula WHERE, quedando la consulta así:
SELECT id_order_state FROM ps_order_history WHERE id_order=".$pedido." ORDER BY date_add DESC LIMIT 1
Donde $pedido será un elemento de un array a recorrer con un bucle PHP (un bucle for, por ejemplo).
jueves, 21 de marzo de 2013
Prestashop 1.5 - Actualización
Ha llegado el momento de descargar la nueva versión de Prestashop, que desde hace poco es estable y, ahora que la tienda en producción ha dejado de tener mucha actividad, se pueden hacer pruebas y actualizar.
Espero que los módulos más importantes no requieran modificar demasiado el código, y que sea sencillo crear módulos nuevos. Hay un par de cosas que me llaman la atención de esta nueva versión, aunque hasta que no tenga una tienda en producción con Prestashop 1.5 no podré hablar con propiedad del tema. Son las siguientes:
1- La posibilidad de acceder a la base de datos desde el Back-Office - para los que desarrollamos módulos, esta novedad es realmente de mucha ayuda,
2- Mejor control de stock: las tiendas con muchos productos y categorías lo tenían difícil, necesitando módulos específios para realizar ciertas tareas.
Algo que a mí me gustaría que tuviera: una mejora de lo que se denomina "atributos de producto" o bien "combinaciones". Cualquiera que los utilice en Prestashop sabe que su uso está muy limitado, a pesar de que los desarrolladores se esfuerzan en crear módulos compatibles muy eficientes, no me parecen muy económicos (puede que valgan lo que cuestan, pero no son baratos).
Instalación en local
Estoy instalando en local una distribución limpia de la versión 1.5.3 descargada el 18 de enero. Una vez instalada, procederé a implementar la tienda de mi cliente principal en dos partes: la configuración (transportistas, productos, ofertas, regalos...) y la plantilla (imágenes, CSS, TPL...). Ésta última parte es la más laboriosa.
Espero adaptar el diseño actual con éxito, y añadir nuevos elementos que hagan la tienda más atractiva, sin que pierda efectividad en cuanto al SEO y las ventas en general.
Esta vez he utilizado una aplicación distinta para la instalación en local, llamada AppServ. Incluye PHP y MySQL (versiones recientes), Apache y phpmyadmin. La última vez lo hice sobre XAMPP, que sigo recomendando por liviana y sencilla; aunque esta vez voy contrarreloj y quise evitarme problemas de configuración.
Problemas con la instalación
Página en blanco - (entrada en este blog)
Primeras impresiones
Me han gustado el nuevo B.O. y la nueva plantilla básica. Tendré que trabajar bastante para conseguir modificar esta última hasta que quede como quiera o, mejor dicho, como me pidan mis clientes (y como les guste a los visitantes).
Pasos a seguir para la actualización
Para hacer una actualización así, saltándome la versión 1.4.9, he decidido hacer una instalación limpia de la última versión e importar los datos de la antigua. Enumero los pasos necesarios para realizar esto correctamente:
- Instalar Prestashop en local - uso Appserv.
- Configurar los impuestos.
- Importar categorías (mi sitio tiene pocas categorías, con lo que he escrito yo mismo el CSV)
- Importar productos (el módulo que exporta un CSV listo para importar es de creación propia, si lo necesitáis escribidme o comentad).
- Activar, desactivar y redistribuir los módulos-bloques desde el Back-Office (lo del Live Edit no me lo esperaba, se agradece).
- El foro es una buena fuente de información: http://www.prestashop.com/forums/topic/213988-indice-aportes-foro-espanol/
Espero que los módulos más importantes no requieran modificar demasiado el código, y que sea sencillo crear módulos nuevos. Hay un par de cosas que me llaman la atención de esta nueva versión, aunque hasta que no tenga una tienda en producción con Prestashop 1.5 no podré hablar con propiedad del tema. Son las siguientes:
1- La posibilidad de acceder a la base de datos desde el Back-Office - para los que desarrollamos módulos, esta novedad es realmente de mucha ayuda,
2- Mejor control de stock: las tiendas con muchos productos y categorías lo tenían difícil, necesitando módulos específios para realizar ciertas tareas.
Algo que a mí me gustaría que tuviera: una mejora de lo que se denomina "atributos de producto" o bien "combinaciones". Cualquiera que los utilice en Prestashop sabe que su uso está muy limitado, a pesar de que los desarrolladores se esfuerzan en crear módulos compatibles muy eficientes, no me parecen muy económicos (puede que valgan lo que cuestan, pero no son baratos).
Instalación en local
Estoy instalando en local una distribución limpia de la versión 1.5.3 descargada el 18 de enero. Una vez instalada, procederé a implementar la tienda de mi cliente principal en dos partes: la configuración (transportistas, productos, ofertas, regalos...) y la plantilla (imágenes, CSS, TPL...). Ésta última parte es la más laboriosa.
Espero adaptar el diseño actual con éxito, y añadir nuevos elementos que hagan la tienda más atractiva, sin que pierda efectividad en cuanto al SEO y las ventas en general.
Esta vez he utilizado una aplicación distinta para la instalación en local, llamada AppServ. Incluye PHP y MySQL (versiones recientes), Apache y phpmyadmin. La última vez lo hice sobre XAMPP, que sigo recomendando por liviana y sencilla; aunque esta vez voy contrarreloj y quise evitarme problemas de configuración.
Problemas con la instalación
Página en blanco - (entrada en este blog)
Primeras impresiones
Me han gustado el nuevo B.O. y la nueva plantilla básica. Tendré que trabajar bastante para conseguir modificar esta última hasta que quede como quiera o, mejor dicho, como me pidan mis clientes (y como les guste a los visitantes).
Pasos a seguir para la actualización
Para hacer una actualización así, saltándome la versión 1.4.9, he decidido hacer una instalación limpia de la última versión e importar los datos de la antigua. Enumero los pasos necesarios para realizar esto correctamente:
- Instalar Prestashop en local - uso Appserv.
- Configurar los impuestos.
- Importar categorías (mi sitio tiene pocas categorías, con lo que he escrito yo mismo el CSV)
- Importar productos (el módulo que exporta un CSV listo para importar es de creación propia, si lo necesitáis escribidme o comentad).
- Activar, desactivar y redistribuir los módulos-bloques desde el Back-Office (lo del Live Edit no me lo esperaba, se agradece).
- El foro es una buena fuente de información: http://www.prestashop.com/forums/topic/213988-indice-aportes-foro-espanol/
miércoles, 13 de marzo de 2013
Conectar una impresora a dos ordenadores (redes en Windows)
Queremos usar la misma impresora en dos equipos distintos, conectados al mismo router. Además, uno de ellos tiene el sistema operativo Windows XP y el otro Windows 7. La impresora es una "HP Deskjet" (muy parcida a la de la imagen) sin conexión WiFi, conectado al equipo con XP.Es necesario que ambos equipos estén dentro del mismo grupo de trabajo. Para cumplir con esta condición, sólo tuve que cambiar el nombre al grupo de trabajo del equipo con XP. Luego reiniciar el equipo.
Para cambiar el nombre del grupo de trabajo en XP: Mi Pc > Propiedades > Nombre del equipo.
Para cambiar el nombre del grupo de trabajo en Windows 7: Equipo > Propiedades.
En el equipo que ejecuta Windows 7, en "Centro de redes y recursos compartidos", se encuentra el nombre de la red y el tipo de red, que determina el nivel de seguridad y otros parámetros de configuración. Se recomienda, para este tipo de tareas, que la red sea doméstica o de trabajo.
Con el Firewall de Windows no necesitamos abrir puertos para compartir impresoras.
En Windows 7, ir a "Inicio > Panel de Control > Centro de redes y recursos compartidos" y, a la izquierda, "Cambiar configuración de uso compartido avanzado". Al desplegar la opción "Casa o trabajo (perfil actual)", tenemos que asegurarnos de que están activas las opciones de "Activar la detección de redes" y "Activar el uso compartido de archivos e impresoras".
Sólo nos queda ir al equipo del Windows XP donde está instalada la impresora, y anotar:
- En Mi Pc > Propiedades > Nombre del Equipo tenemos el nombre del equipo
- En impresoras y faxes, con el botón secundario encima de la impresora y luego en Compartir, podemos marcar la opción de compartir impresora y anotamos el nombre del recurso.
Y volver al equipo de Windows 7 y escribir en "Ejecutar" lo siguiente: //nombre_del_otro_equipo. Allí estará la impresora a compartir, sobre la que pulsamos el botón secundario del ratón y, en el menú emergente, "conectar". Ya podemos imprimir desde un equipo a la impresora conectada al otro.
Puede resultar algo complicado a primera vista, pero resumiendo resulta más sencillo:
- Asegurarnos de que ambos equipos están en el mismo grupo de trabajo y conectados a una red doméstica o de oficina,
- tener activada la detección de redes y el uso compartido de impresoras en el segundo equipo,
- conectar la impresora del primero equipo al segundo con el nombre del primer equipo y del recurso (impresora)
Fuentes:
http://windows.microsoft.com/es-ES/windows7/Networking-home-computers-running-different-versions-of-Windows
http://support.microsoft.com/kb/971955/es
http://es.kioskea.net/faq/1568-compartir-una-impresora-bajo-windows-xp-y-vista
lunes, 21 de enero de 2013
Problema Pretashop página en blanco
El navegador muestra una página en blanco cuando intentamos visitar tanto el Back-Office como el Front-Office, justo después de instalar.
Añadimos, en el archivo \config\config.inc.php, después de las instrucciones:
/* Improve PHP configuration to prevent issues */
ini_set('upload_max_filesize', '100M');
ini_set('default_charset', 'utf-8');
ini_set('magic_quotes_runtime', 0);
La siguiente línea, que nos muestra los errores de PHP:
ini_set('display_errors', 'on');
Después de hacer esto, el navegador nos muestra:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 24576 bytes)
in C:\AppServ\www\prestashop \classes\CartRule.php on line 142
Con lo que debemos añadir a dicho archivo:
ini_set('memory_limit','-1');
Añadimos, en el archivo \config\config.inc.php, después de las instrucciones:
/* Improve PHP configuration to prevent issues */
ini_set('upload_max_filesize', '100M');
ini_set('default_charset', 'utf-8');
ini_set('magic_quotes_runtime', 0);
La siguiente línea, que nos muestra los errores de PHP:
ini_set('display_errors', 'on');
Después de hacer esto, el navegador nos muestra:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 24576 bytes)
in C:\AppServ\www\prestashop \classes\CartRule.php on line 142
Con lo que debemos añadir a dicho archivo:
ini_set('memory_limit','-1');
Suscribirse a:
Entradas (Atom)

