prestashop: Call to undefined function imagecreatefromjpeg()

prestashop: Call to undefined function imagecreatefromjpeg()

fuente: https://www.prestashop.com/forums/topic/316798-versi%C3%B3n-16-no-me-carga-la-p%C3%A1gina-de-productos-en-el-back-end/

De un dia para otro la seccion de pedidos no carga y se queda en blanco … solucion:

  1. Activé el modo depuración de prestashop en el fichero /config/defines.inc.php y en la línea

    /* Debug only */
    define(‘_PS_MODE_DEV_’, false);

    Puse:

    /* Debug only */
    define(‘_PS_MODE_DEV_’, true);

  2. Ahora ya en vez de la página en blanco al acceder a catalogos/productos en el Back End, me dio una orientación del problema diciéndome el navegador:

     Fatal error: Call to undefined function imagecreatefromjpeg()

  3. Buscando por internet encontré que eso era debido a que el host de mi proveedor no tenia instalada la librería GD (para manipular y crear gráficos en php) en el servidor.
  4. Me la instalaron los proveedores del host a través de EasyApache y todo se solucionó.
  5. Ver: http://www.lophost.com/tutorials/solution-call-to-undefined-function-imagecreatefromjpeg/

gracias aclemente por la solucion xDD

PRESTASHOP: Error PAYPAL – Please try to contact the merchant: SILOVER

PRESTASHOP: Error PAYPAL – Please try to contact the merchant: SILOVER

fuente: https://www.prestashop.com/forums/topic/527420-error-paypal/

Buenas a tod@s

El error se presentaba al pagar con PAYPAL, despues de completar todos los pasos del carrito llegaba el momento de pinchar en PAYPAL y que me abriera la pagina del mismo … y en vez de eso toma ERROR! «Please try to contact the merchant: <b>PayPal response:</b> SILOVER»

Rezandole a SAN GOOGLE di con este foro majo majo https://www.prestashop.com/forums/topic/527420-error-paypal/ en donde un user daba la solucion javisd

He instalado una versión anterior del módulo y viendo por otros hilos del foro (en italiano!! jeje) ya accede bien a paypal.

En el archivo module/paypal/api/paypal_connect.php en la línea 49, modificar:

if (!$simple_mode || !preg_match(‘/[A-Z]+=/’, $tmp, $result))

por:

if (!$simple_mode || !preg_match(‘/[TOKEN]+=/’, $tmp, $result))

Muchas gracias !!

#Prestashop: #Error 500 en finalizacion de formulario registro de nuevo usuario

#Prestashop: #Error 500 en finalizacion de formulario registro de nuevo usuario

fuentes: https://javier-valero.es/2013/07/como-resolver-los-errores-500-en-prestashop/

http://www.klosions.com/error-al-registrarse-en-prestashop/

La problematica era la siguiente:

  • te registras como nuevo usuario rellenas todos los datos y en vez de mostrar felicidades ya eres nuevo usuario te aparece la pantalla en blanco con un bonito ERROR500

Por lo visto a prestashop esto le encanta … leyendo en google encontre esta web https://javier-valero.es/2013/07/como-resolver-los-errores-500-en-prestashop/ en la que recomiendan activar el modo debug de prestashop para ver los errores que canta PHP

Lo hice, y me encontre con un error muy desagradable de 4 lineas … copie el ultimo trocito de error donde indicaba nombre de archivo y linea de error y otra vez a nuestro querido google a consultar y encontre esta pagina que me ha salvado el dia http://www.klosions.com/error-al-registrarse-en-prestashop/ dasfg en la que nos indican que modifiquemos el codigo del php que esta dando error (ObjectModel.php) por otro:

vamos a la linea 1032 y nos encontramos con esto


if (!empty($value) || $value === '0' || ($field == 'postcode' && $value == '0')) {
if (isset($data['validate']) && !Validate::$data['validate']($value) && (!empty($value) || $data['required'])) {
$errors[$field] = '<b>'.self::displayFieldName($field, get_class($this), $htmlentities).'</b> '.Tools::displayError('is invalid.');
} else {
if (isset($data['copy_post']) && !$data['copy_post']) {
continue;
}
if ($field == 'passwd') {
if ($value = Tools::getValue($field)) {
$this->{$field} = Tools::encrypt($value);
}
} else {
$this->{$field} = $value;
}
}
}

 

y lo sustituimos por esto


if (!empty($value) || $value === '0' || ($field == 'postcode' && $value == '0')) {
if (isset($data['validate']) && !call_user_func('Validate::'.$data['validate'],$value) && (!empty($value) || $data['required'])) {
$errors[$field] = '<b>'.self::displayFieldName($field, get_class($this), $htmlentities).'</b> '.Tools::displayError('is invalid.');
} else {
if (isset($data['copy_post']) && !$data['copy_post']) {
continue;
}
if ($field == 'passwd') {
if ($value = Tools::getValue($field)) {
$this->{$field} = Tools::encrypt($value);
}
} else {
$this->{$field} = $value;
}
}
}

me dije a mi mismo «esto no funciona ni de broma, haz un backup del archivo …» pues funciono si señor, muchas gracias a alexhernandez por su gran solucion!

un saludo

Prestashop: factura con la misma direccion de entrega (paso 3 del carrito de la compra)

Prestashop: factura con la misma direccion de entrega (paso 3 del carrito de la compra)

Buenas a tod@s

Tenia una problema con una tienda, un usuario que vive en inglaterra hace un pedido pero quiere que se lo envien a su amigo que vive en España. Segun esta el Prestashop por defecto en el paso 3 del proceso de compra del carrito le pregunta si quiere que la factura lleve la direccion de entrega o la direccion donde vive

  • Si el usuario selecciona la direccion donde vive aqui viene el problema, como es una direccion de otro pais no se aplica correctamente el porcentaje de IVA que conlleva la venta. Un verdadero problema ya que realmente la venta se realiza en el país aunque el usuario resida fuera

Seguro que hay muchas maneras de solucionarlo, y mucho mejores que la opción que yo he escogido:

  • Edito el archivo del paso 3 ( order-address, que esta en el raiz de nuestra carpeta del theme de prestashop –> directorio raiz de prestashop/themes/ )
  • en la linea 50 aprox edito la etiqueta P del checkbox para que se oculte, le añado un display:none

Posiblemente sea una solucion poco recomendable … muy barata … merezco la muerte … pero funciona y ya no tengo mas problemas con la tienda y pedidos que deban llevas IVA y por culpa del usuario y sus jugaditas no lo lleva

Espero haberle servido de ayuda a alguien con este POST, muchas gracias!

#Prestashop 1.6: notificaciones por email cuando se registra un cliente by @sobreprestashop

#Prestashop 1.6: notificaciones por email cuando se registra un cliente by @sobreprestashop

Fuente: https://sobreprestashop.blogspot.com.es/2015/01/recibir-notificaciones-por-email-cuando-se-registra-un-cliente-en-prestashop.html

prestashop-1-6-notificaciones-por-email-cuando-se-registra-un-cliente-by-sobreprestashop

Muy buen artículo de sobreprestashop.blogspot.com.es para activar notificaciones via e-mail cuando alguien se registra como usuario nuevo en nuestro prestashop.

Esta muy bien descrito el trabajo a realizar, nos dan la posibilidad de descargar los archivos, muy bien redactado y una gran variedad de detalles. Muy muy trabajado. Muchas gracias por este gran post !

Eso si, necesitaremos conocimientos muy basicos de html y php

Leer artículo completo en sobreprestashop.blogspot.com.es

#Prestashop 1.6, cambiar mensaje Diligenciados y Volver negó en devoluciones

prestashop-1-6-cambiar-mensaje-diligenciados-y-volver-nego-en-devoluciones

Buenas a tod@s

En los estados de las devoluciones por defecto segun instalamos prestashop aparecen estos dos mensajes guapisimos: Diligenciados y Volver negó que son un poco raritos

Es cierto que cualquier tema de texto esta en las traducciones englobado pero algunas cositas prestashop las pone un poco escondidas para hacerlo mas interesante todo 😦

En el panel de administracion / pedidos / estados de los pedido

En esta sección podemos editar los textos referentes a los pedidos y tal y tal 😀

Eliminar el texto de regalo en #Prestashop by @evamontero

Eliminar el texto de regalo en #Prestashop by @evamontero

fuente: http://evamariamontero.com/eliminar-texto-de-regalo-prestashop/

eliminar-el-texto-de-regalo-en-prestashop-by-evamontero

En Prestashop cuando activas la opción de “Envolver para regalo”, añade obligatoriamente la de “Añadir texto”. Para quitarlo:

/tu-tienda/themes/tu-plantilla/order-carrier.tpl –> comentamos el bloque id=«gift_div»

Leer artículo completo en evamariamontero.com

#php #prestashop: modificar codigo de bloque #cms personalizado o #blockcmsinfo y #blog

buenas a todos

vamos a enredar a nivel de codigo el BLOQUE DE INFORMACIÓN CMS PERSONALIZADO, cambiar estilo de maquetacion y añadir ultima entrada del BLOG

prestashop-modulo-bloque-informacion-cms-personalizado-html-css-php-smarty

el panel de administracion esta muy guay, pero en mi caso necesitaba 2 bloques en vez de tres como viene la plantilla por lo cual no me queba otro remedio que toquetear el codigo … y que desapareciera el bloque de facebook pero eso lo hacemos desde el panel en la seccion modulos desactivandolo

los archivos correspondientes estan en el raiz en modules/blockcmsinfo

aqui dentro destacamos dos archivos: blockcmsinfo.tpl que es la vista y blockcmsinfo.php que es donde esta el show de funciones y peticiones de datos a la base de datos

en el .tpl se usa el codigo de programacion smarty para leer la info que php le pasa

en el php:

$smarty = new Smarty;
$smarty->assign('firstname', 'Doug');
$smarty->display('index.tpl');

y en el .tpl

Hello {$firstname} {$lastname}, glad to see you can make it.

el codigo smarty va entre llaves {}

en el blockcmsinfo.tpl nos encontramos con esto:

div id="cmsinfo_block">
 {foreach from=$infos item=info}
{$info.text}
 {/foreach}
/div>

infos es un array con los registros de la base de datos de la tabla perteneciente al bloque, dichos registros los hemos introducido en el panel. si vmaos al php y buscamos infos encontraremos la funcion en donde se hace la asignacion para smarty

como veis esto es asi un poco por encima, simplemente para poner en la pista a la gente que como yo necesita adaptar templates o hacer virgueiras dentro de los archivos porque como viene todo por defecto no cubre

yo en mi caso ademas necesitaba sacar en este modulo el ultimo post del blog, seguramente haya hooks o modulos que lo hagan pero no lo encontre asi que como siempre, te tienes que sacar las castañas del fuego como puedas y rebozarte por todos los archivos de prestashop

de esta manera en el php te creas la consulta para hacer lectura de la tabla del blog y en el tpl recoges la info, en prestashop es un poco diferente el tema smarty a como lo he puesto mas arriba. El pequeño condigo de ejemplo de antes seria como se usaria en una pagina normal, no en prestashop. En prestashop pase las variables de esta manera, aprovechando como ya lo tienen montado:

$this->context->smarty->assign(‘nombre_variable’, $nombre_variable);

y la recogida en el tpl es de la misma manera que en el ejemplo

como siempre espero haber servido de ayuda a alguien mas que a mi … s eque este post e sun poco rollo, podria estar mucho mejor explicado bla bla bla pero ye lo que hay chavales no me da pa mas la neurona! xDD

#prestashop 1.6: Configuración de Menús de Administración

fuente: http://doc.prestashop.com/pages/viewpage.action?pageId=29655348

Configuración de Menús de Administración

La organización de los menús en el back-office de PrestaShop no están escritos en piedra: aunque la disposición por defecto ha sido diseñada para tener un acceso más rápido a las páginas de mayor utilidad, es posible que tenga una opinión diferente, y desee cambiar la organización, en parte o en su totalidad.

Esta página de administración le permite mover, editar, desactivar e incluso crear páginas.

Mover menús

Los menús pueden ser movidos directamente a través de esta lista. Puede hacer clic sobre las flechas de la columna «Posición», o arrastrar la fila y soltarla en la posición que desee. Tan pronto como suelte la fila en la posición deseada, PrestaShop guardará automáticamente el cambio. Puede arrastrar la fila posicionando el cursor del ratón sobre la columna «Posición».

Puede desactivar un menú simplemente haciendo clic en la marca de verificación de color verde de la columna «Activado». Tenga en cuenta que esta acción desactivará el menú para todos los usuarios del back-office. Si desea ocultar un menú a un conjunto específico de usuarios, edite los permisos de perfil, en la página de administración «Permisos».

Mover páginas

Para acceder a las páginas de un menú, haga clic en la acción «Detalles» del menú de acciones. Una nueva lista aparece con las páginas presentes en ese menú, y con las mismas columnas que aparecían en la anterior pantalla.

Las páginas de un menú pueden ser movidas directamente desde la lista. Puede hacer clic sobre las flechas de la columna «Posición», o arrastrar la fila y soltarla en la posición que desee. Tan pronto como suelte la fila en la posición deseada, PrestaShop guardará automáticamente el cambio. Puede arrastrar la fila posicionando el cursor del ratón sobre la columna «Posición».

También puede mover una página a un menú diferente. Sin embargo, esto no se puede hacer directamente desde la lista. Para realizar esto: debe abrir el formulario de edición de la página, donde encontrará la opción «Padre». Cambiar esa opción a otro nombre del menú, guarde sus cambios, y cuando regrese a la página «Menús», comprobará que la página se habrá movido al menú seleccionado.

Puede desactivar una página simplemente haciendo clic en la marca de verificación de color verde de la columna «Activado». Tenga en cuenta que esta acción desactivará la página para todos los usuarios del back-office. Si desea ocultar una página a un conjunto específico de usuarios, edite los permisos de perfil, en la página de administración «Permisos».

Crear una nueva página o menú

Haga clic en el botón «Añadir nuevo menú» para abrir la página del formulario de creación.

Este formulario contiene unas cuantas opciones, algunas de las cuales pueden resultar complicadas:

  • Nombre. Establezca un nombre único, ya que servirá de identificador interno
  • Clase. En resumen, una página del back-office de PrestaShop está basada en archivos internos de PHP específicos, que son llamados «admin controllers», y que normalmente se encuentran almacenados en la carpeta/controllers/admin de su instalación de PrestaShop. Al crear una nueva página, debe saber cuál es el controlador de destino, y lo más importante el nombre de su clase – que es el nombre del archivo PHP.
    Por ejemplo, si desea crear una página que muestre la página de administración de copias de seguridad de PrestaShop, debe primero encontrar el nombre del controlador (en este caso, AdminBackupController), y copiarlo en el campo «Clase».
  • Módulo. En algunos casos, el controlador de administración para el cual está creando una página proviene de un módulo. En estos casos, también debe especificar el identificador del módulo (en la mayoría de los casos, el nombre de la carpeta) y copiarlo en el campo «Módulo», en minúsculas. De esta forma, PrestaShop sabe que no debe buscar el controlador en la carpeta /controllers/admin sino en la carpeta /modules/NOMBRE-DEL-MÓDULO/.
  • Estado. Puede desactivar una página en cualquier momento, pero tenga en cuenta que esto afecta a todos los usuarios del back-office.
  • Padre. Puede elegir cualquier menú, pero en aras de la coherencia, asegúrese de elegir uno que corresponda a la página que está creando.

Si quiere crear un nuevo menú, elija «Inicio» como padre.

Quitar el Asunto del formulario de contacto de #Prestashop 1.6 by @Endeos_SL

Fuente: https://blog.endeos.com/quitar-el-asunto-del-formulario-de-contacto-de-prestashop/

Una de las secciones más importantes de una tienda online es el formulario de contacto. Permitir al usuario escribirnos un correo para resolver sus dudas es de primordial importancia a fin de que llegue a convertirse en cliente.

Prestashop viene por defecto con un formulario de contacto muy aceptable, una de sus características es el poder seleccionar de una lista desplegable a qué departamento enviar el correo.

Este campo de nombre “Asunto” le irá genial para los que tengan una tienda tan grande como para hacer esa diferencia entre departamentos, pero para los que no necesitamos esta opción ¿por qué tenemos que lidiar con ese select? ¿Hay alguna forma de quitar el desplegable del asunto y enviar el correo a una dirección que especifiquemos?

Sabemos que el comprador online es poco fiel, si le damos trabajo de más se irá a la siguiente tienda que le aparezca en Google, por lo que tenemos que facilitarle la labor al máximo.

Eliminar el campo Asunto del formulario de contacto en Prestashop

Es necesario tocar código. En primer lugar editaremos el fichero /themes/plantilla/contact-form.tpl donde plantilla es el nombre de la carpeta del tema que estás usando en tu tienda online.

Procedemos a buscar y eliminar el código que nos crea la etiqueta “Asunto” así como el que nos crea el selector de opciones:

{l s='Subject Heading'} {if isset($customerThread.id_contact)} {foreach from=$contacts item=contact} {if $contact.id_contact == $customerThread.id_contact} {/if} {/foreach} {else} {l s='-- Choose --'} {foreach from=$contacts item=contact} {$contact.name|escape:'html':'UTF-8'} {/foreach}
{/if}

En su lugar le decimos a quién se enviarán los correos del formulario de contacto añadiendo la siguiente línea:

<input type="hidden" name="id_contact" value="1" />

El campo value es el que nos indica a qué usuario le llegarán los correos, para saber su identificador iremos al back office de Prestashop en el apartado Clientes > Contacto y cogeremos el valor de la columna ID del contacto que deseemos.

Identificador cliente Prestashop

Si estás usando algún tipo de caché, una vez realizado el cambio no olvides vaciarla o forzar la compilación, encontrarás estas opciones de Prestashop en el menú Preferencias > Rendimiento.

Formulario de contacto prestashop sin asunto

Ya tenemos un formulario de contacto de Prestashop sin el campo Asunto y sin el selector de opciones. No ha sido tan complicado ¿verdad?.