Modificar el número de productos a mostrar y el orden:
Preferencias -> Productos
Mostrando entradas con la etiqueta Prestashop. Mostrar todas las entradas
Mostrando entradas con la etiqueta Prestashop. Mostrar todas las entradas
Prestashop: Ejemplo atacar BD
<?php
if (!defined('_PS_ADMIN_DIR_')) {
define('_PS_ADMIN_DIR_', getcwd());
}
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');
$db = Db::getInstance();
$sql = 'select * from ps_order_invoice where id_order not in (select id_order from ps_orders)';
echo "Se van a borrar las siguientes facturas:<br>";
if ($results = Db::getInstance()->ExecuteS($sql)) {
foreach ($results as $row) {
echo "Pedido:".$row['id_order']." | Id Factura: ".$row['id_order_invoice'];
echo "<br>";
}
$sql = 'delete from ps_order_invoice where id_order not in (select id_order from ps_orders)';
if (!Db::getInstance()->Execute($sql))
die('<hr>--------------------ERROR: Se ha producido un error al borrar<hr>');
else
echo "<hr>--------------------Se han borrado correctamente todas las facturas de los pedidos ya borrados<hr>";
}
else {
echo "--------------------En este momento no hay ninguna factura para borrar";
}
?>
Más información en:
http://www.jose-aguilar.com/blog/como-trabajar-con-la-base-de-datos-de-prestashop/
Prestashop: Modificar Factura
Reinicializar los ids de las facturas para que vayan correlativos tras borrar pedidos (por ejemplo con el módulo Delete orders free):
- Borrar todos los registros de ps_order_invoice de los ids de los pedidos borrados:
delete from ps_order_invoice where id_order not in (select id_order from ps_orders)
---------------------------------------------------------
Modificar el CIF:
Preferencias -> Contacto Tiendas -> Detalles del contacto -> Número de registro
Modificar el NIF:
Localización -> Paises -> España -> Formato de la dirección:
firstname lastname
company
vat_number
dni
address1
address2
postcode city
Country:name
phone
NOTA: Para cada cambio borrar la cache en Parámetros Avanzados -> Rendimiento
Si no funciona lo del NIF del cliente ir al fichero classes\pdf\HTMLTemplateInvoice.php:
public function getContent() {
...
$data = array(
'order' => $this->order,
'order_invoice' => $this->order_invoice,
'vat_number' => $this->vat_number,
'cif' => $this->cif,
'order_details' => $order_details,
'cart_rules' => $cart_rules,
'delivery_address' => $formatted_delivery_address,
'invoice_address' => $formatted_invoice_address,
'addresses' => array('invoice' => $invoice_address, 'delivery' => $delivery_address),
'tax_excluded_display' => $tax_excluded_display,
'display_product_images' => $display_product_images,
'layout' => $layout,
'tax_tab' => $this->getTaxTabContent(),
'customer' => $customer,
'footer' => $footer,
'ps_price_compute_precision' => _PS_PRICE_COMPUTE_PRECISION_,
'round_type' => $round_type,
'legal_free_text' => $legal_free_text,
);
}
Si no funciona lo del CIF (asegurarse en Preferencias -> Contacto tienda -> Detalles del contacto -> esté puesto el CIF) e ir a classes/order/OrderInvoice.php:
public static function getCurrentFormattedShopAddress($id_shop = null) {
$address = new Address();
$address->company = Configuration::get('PS_SHOP_NAME', null, null, $id_shop);
$address->address1 = Configuration::get('PS_SHOP_ADDR1', null, null, $id_shop);
$address->address2 = Configuration::get('PS_SHOP_DETAILS', null, null, $id_shop); $address->postcode = Configuration::get('PS_SHOP_CODE', null, null, $id_shop);
$address->city = Configuration::get('PS_SHOP_CITY', null, null, $id_shop);
$address->phone = Configuration::get('PS_SHOP_PHONE', null, null, $id_shop);
$address->id_country = Configuration::get('PS_SHOP_COUNTRY_ID', null, null, $id_shop);
return AddressFormat::generateAddress($address, array(), '<br />', ' ');
}
- Borrar todos los registros de ps_order_invoice de los ids de los pedidos borrados:
delete from ps_order_invoice where id_order not in (select id_order from ps_orders)
---------------------------------------------------------
Modificar el CIF:
Preferencias -> Contacto Tiendas -> Detalles del contacto -> Número de registro
Modificar el NIF:
Localización -> Paises -> España -> Formato de la dirección:
firstname lastname
company
vat_number
dni
address1
address2
postcode city
Country:name
phone
NOTA: Para cada cambio borrar la cache en Parámetros Avanzados -> Rendimiento
Si no funciona lo del NIF del cliente ir al fichero classes\pdf\HTMLTemplateInvoice.php:
public function getContent() {
...
$data = array(
'order' => $this->order,
'order_invoice' => $this->order_invoice,
'vat_number' => $this->vat_number,
'cif' => $this->cif,
'order_details' => $order_details,
'cart_rules' => $cart_rules,
'delivery_address' => $formatted_delivery_address,
'invoice_address' => $formatted_invoice_address,
'addresses' => array('invoice' => $invoice_address, 'delivery' => $delivery_address),
'tax_excluded_display' => $tax_excluded_display,
'display_product_images' => $display_product_images,
'layout' => $layout,
'tax_tab' => $this->getTaxTabContent(),
'customer' => $customer,
'footer' => $footer,
'ps_price_compute_precision' => _PS_PRICE_COMPUTE_PRECISION_,
'round_type' => $round_type,
'legal_free_text' => $legal_free_text,
);
}
Si no funciona lo del CIF (asegurarse en Preferencias -> Contacto tienda -> Detalles del contacto -> esté puesto el CIF) e ir a classes/order/OrderInvoice.php:
public static function getCurrentFormattedShopAddress($id_shop = null) {
$address = new Address();
$address->company = Configuration::get('PS_SHOP_NAME', null, null, $id_shop);
$address->address1 = Configuration::get('PS_SHOP_ADDR1', null, null, $id_shop);
$address->address2 = Configuration::get('PS_SHOP_DETAILS', null, null, $id_shop); $address->postcode = Configuration::get('PS_SHOP_CODE', null, null, $id_shop);
$address->city = Configuration::get('PS_SHOP_CITY', null, null, $id_shop);
$address->phone = Configuration::get('PS_SHOP_PHONE', null, null, $id_shop);
$address->id_country = Configuration::get('PS_SHOP_COUNTRY_ID', null, null, $id_shop);
return AddressFormat::generateAddress($address, array(), '<br />', ' ');
}
Prestashop: Variables globales
En TPL:
{if $logged}
Estás Logueado
{else}
No estás Logueado
{/if}
EN PHP:
if ($cookie->isLogged()) {
echo 'Logueado';
} else {
echo 'No Logueado';
}
-------------------------------------------------
En TPL:
{$var1=$cart->getOrderTotal(true)}
{if ($var1 == 0)}
CARRITO VACIO
{else}
CARRITO LLENO
{/if}
----------------------------------------------
{if isset($customerName) && $customerName} Cliente: {$customerName} {/if}
Prestashop: Subir de local al servidor
a) Instalarlo todo en local.
b) Subir todo por FTP al servidor. (por SSH puede dar problemas con las mayúsculas y minúsculas de los nombres de los ficheros).
c) Crear la BD en el phpmyadmin del servidor e importar la BD de local.
d) En el servidor editar config/settings.inc.php con los datos de la BD del servidor.
e) En el servidor editar config/defines.inc.php para poner:
define('_PS_MODE_DEV_', true); // para q muestre los posibles errores
f) En el phpmyadmin del servidor editar la tabla ps_shop_url:
domain: SIEMPRE sin el http://
physical_uri: /ps_prueba/
g) En el phpmyadmin del servidor editar la tabla ps_configuration los name de PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL poniendo en value el nombre del servidor (siempre sin el http://)
h) Si sigue sin funcionar la parte frontar borrar la carpeta cache del FTP y entrar en la zona de administración de la web:
- Parámetros avanzados -> Vaciar cache
- Parámetros avanzados -> Smarty -> Forzar compilación
- Parámetros avanzados -> Smarty -> Cache a NO
- Rendimiento -> SEO + URLS -> URL Amigable a NO
b) Subir todo por FTP al servidor. (por SSH puede dar problemas con las mayúsculas y minúsculas de los nombres de los ficheros).
c) Crear la BD en el phpmyadmin del servidor e importar la BD de local.
d) En el servidor editar config/settings.inc.php con los datos de la BD del servidor.
e) En el servidor editar config/defines.inc.php para poner:
define('_PS_MODE_DEV_', true); // para q muestre los posibles errores
f) En el phpmyadmin del servidor editar la tabla ps_shop_url:
domain: SIEMPRE sin el http://
physical_uri: /ps_prueba/
g) En el phpmyadmin del servidor editar la tabla ps_configuration los name de PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL poniendo en value el nombre del servidor (siempre sin el http://)
h) Si sigue sin funcionar la parte frontar borrar la carpeta cache del FTP y entrar en la zona de administración de la web:
- Parámetros avanzados -> Vaciar cache
- Parámetros avanzados -> Smarty -> Forzar compilación
- Parámetros avanzados -> Smarty -> Cache a NO
- Rendimiento -> SEO + URLS -> URL Amigable a NO
Prestashop: Varios
BD
Descripciones del producto: ps_product_lang
Latitud del google maps: ps_store
Actualizar la cantidad de todos los productos del catálogo: update ps_stock_available set quantity = 40 where quantity = 0 and id_stock_available < 99999
BLOG
Añadir un blog a Prestashop:
https://www.prestashop.com/forums/topic/317230-prestashop-blog-module/
CODIGO:
Modificar código original de la portada: themes/themes975/header.tpl
Modificar elementos en la cabecera negra del top: themes/theme975/modules/blockpermanetlinks/blockpermanentlinks-header.tpl
Modificar los elementos de la cabecera negra del top del lado derecho: themes/themes975/modules/blockuserinfo/nav.tpl
Modificar la pantalla de autentificación: themes/theme975/autentification.tpl
Modificar el tabs de productos destacados: themes/theme975/modules/homefeatured/tab.tpl
Modificar el tabs de productos nuevos: themes/theme975/modules/blocknewproducts/tab.tpl
Modificar pantalla final de productos: themes/themexxx/product.tpl
CSS:
Para que no se muestren las subcategorías en el menú horizontal modificar global.css (del tema):
#block_top_menu .submenu-container.clearfix.first-in-line-xs { display: none !important;
}
CMS
Eliminar los módulos de izquierda o derecha del CMS para que el del centro ocupe toda la pantalla:
Modulos -> Posiciones de los Módulos -> Filtrar por Bloque CMS -> Eliminar los que se quiera
Para editar cualquier texto fijo (y saber el id_cms al que hay que enlazar): Preferencias -> CMS
Se enlaza: index.php?id_cms=6&controller=cms
DESARROLLADOR
Si necesitas que muestre los errores: en config/defines.inc.php:
define('_PS_MODE_DEV_', true);
ERRORES:
Si da el error de "No hay productos nuevos cuando realmente sí los hay" ir a:
Modulos -> Bloque de Novedades -> Cambiar el número de días (se puede poner el mismo, es solo para q actualice la cache)
DONDE ESTA:
<< Continuar la compra Ir a la Caja >> en: themes/theme975/modules/blockcart/blockcart.tpl
Cambiar número de columnas de 2 a 3 en la portada: milenio_2014\themes\theme975\product-list.tpl
Cambiar dias que un producto se considera nuevo: preferencias -> Productos -> Número de días
Portada: Numero de productos por página: Preferencias -> Temas -> Ajustes avanzados
FOOTER:
cambiar texto en cualquiera de estos módulos:
Bloque reasegurados
Bloque enlaces CMS
Bloque información de contacto: themes/theme975/modules/blockcms/blockcms.tpl
Bloque categorías
Bloque redes sociales
Bloque mi cuenta
Si se quiere rehacer por completo el footer y personalizarlo:
a) Comentar en themes/theme975/footer.tpl la linea <div class="row">{$HOOK_FOOTER}</div>
b) Escribir en su lugar el nuevo código HTML que se quiera incluir
GOOGLE MAPS LATITUD:
Si queremos modificar el zoom de google maps por defecto: \milenio_2014\themes\theme975\js: variable zoomOverride
IDIOMAS
Añadir/eliminar idiomas nuevos (luego para añadir los datos en cada idioma en la modificación de cada uno de los productos)
IMPORTAR:
Importar un CVS para volcar los productos o las categorías: Paramentros avanzados -> Importar CSV
LITERALES:
cambiar literales tanto del Backoffice como de la plantilla: LOCALIZACION -> Traducciones
MODOS DE PAGO:
Modulos -> Modulos -> Transferencia bancaria (rellenar los datos)
Modulos -> modulos -> cheque
Modulos -> modulos -> Paypal
MODULOS:
Añadir nuevos módulos al tema: MODULOS -> configurador de temas (themeconfigurator)
El fichero que carga los hooks con los modulos es: classes/controller/FrontController.php
Si queremos que se muestre o no las columnas de la izq o der: preferencias -> temas
Los modulos se llaman desde: themes/themexxx/layout.tpl
Modulo de Categorías IZQ: themes/theme975/modules/blockcategories/blockcategories.tpl
Modulo de Novedades IZQ: themes/theme975/modules/blocknewproducts/blocknewproducts.tpl
Modulo de Promociones especiales IZQ: themes/theme975/blockespeciales/blockspecials.tpl
Modulo de Productos más vistos IZQ: themes/theme975/blockviewed/blockviewed.tpl
Modulo subcategoria: themes/theme975/category.tpl
Modulo listado ordenar prod subcateg: themes/theme975/product-sort.tpl
Modulo spinner busqueda avanzada: blocklayered (por facetas)
PORTADA:
Cambiar logo portada: preferencias -> Temas
Cambiar textos del menu: Localización -> Traducciones -> Traducciones del módulos
Slider: modulos -> minic slider
Banner principal: Modulos -> Bloque de Banner
Activar/desactivar opciones así como añadir elementos nuevos: modulos -> modulos -> configurador de temas -> Añadir elemento (abajo): IMPORTANTE
Slider que viene por defecto en la plantilla estandar: modulos -> modulos -> Imagen de control deslizante para su página web
Menu horizontal superior: modulos -> modulos -> menu horizontal superior (añadir elementos a ese menu)
Productos destacados de la portada: Modulos -> Modulos -> Productos Destacados en la Página de inicio
Productos nuevos de la portada: Modulos -> Modulos -> Bloque de novedades
Productos más vendidos de la portada: modulos -> modulos -> Bloque más vendidos
PROVEEDORES:
Desactivarlos: modulos->modulos->Proveedor
REGLAS DE DESCUENTO
Reglas de descuento -> Vales descuento (aplicar el %): En el front se aplica al iniciar el proceso de carrita en la primera pestaña (Resumen)
Reglas de descuento -> Reglas de catálogo -> Se aplica al número de cantidades que se compra (Ej: Más de 3 un descuento del 50%)
TEMA ACTUAL:
preferencias -> temas
TIENDAS:
preferencias -> Contactos de la tienda
URLS:
cambiar puertos o activar las Urls amigables: Preferencias-> SEO + URLS
Si Cambiamos la tienda de sitio hay que modificar las tablas de la BD:
ps_configuration --> Las líneas PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL
ps_shop_url --> El campo physical_uri cambiar /tienda por /
VERSION PRESTASHOP:
Para saber la versión ir al pie del todo y pasar el ratón por encima y se verá el pie
Descripciones del producto: ps_product_lang
Latitud del google maps: ps_store
Actualizar la cantidad de todos los productos del catálogo: update ps_stock_available set quantity = 40 where quantity = 0 and id_stock_available < 99999
BLOG
Añadir un blog a Prestashop:
https://www.prestashop.com/forums/topic/317230-prestashop-blog-module/
CODIGO:
Modificar código original de la portada: themes/themes975/header.tpl
Modificar elementos en la cabecera negra del top: themes/theme975/modules/blockpermanetlinks/blockpermanentlinks-header.tpl
Modificar los elementos de la cabecera negra del top del lado derecho: themes/themes975/modules/blockuserinfo/nav.tpl
Modificar la pantalla de autentificación: themes/theme975/autentification.tpl
Modificar el tabs de productos destacados: themes/theme975/modules/homefeatured/tab.tpl
Modificar el tabs de productos nuevos: themes/theme975/modules/blocknewproducts/tab.tpl
Modificar pantalla final de productos: themes/themexxx/product.tpl
CSS:
Para que no se muestren las subcategorías en el menú horizontal modificar global.css (del tema):
#block_top_menu .submenu-container.clearfix.first-in-line-xs { display: none !important;
}
CMS
Eliminar los módulos de izquierda o derecha del CMS para que el del centro ocupe toda la pantalla:
Modulos -> Posiciones de los Módulos -> Filtrar por Bloque CMS -> Eliminar los que se quiera
Para editar cualquier texto fijo (y saber el id_cms al que hay que enlazar): Preferencias -> CMS
Se enlaza: index.php?id_cms=6&controller=cms
DESARROLLADOR
Si necesitas que muestre los errores: en config/defines.inc.php:
define('_PS_MODE_DEV_', true);
ERRORES:
Si da el error de "No hay productos nuevos cuando realmente sí los hay" ir a:
Modulos -> Bloque de Novedades -> Cambiar el número de días (se puede poner el mismo, es solo para q actualice la cache)
DONDE ESTA:
<< Continuar la compra Ir a la Caja >> en: themes/theme975/modules/blockcart/blockcart.tpl
Cambiar número de columnas de 2 a 3 en la portada: milenio_2014\themes\theme975\product-list.tpl
Cambiar dias que un producto se considera nuevo: preferencias -> Productos -> Número de días
Portada: Numero de productos por página: Preferencias -> Temas -> Ajustes avanzados
FOOTER:
cambiar texto en cualquiera de estos módulos:
Bloque reasegurados
Bloque enlaces CMS
Bloque información de contacto: themes/theme975/modules/blockcms/blockcms.tpl
Bloque categorías
Bloque redes sociales
Bloque mi cuenta
Si se quiere rehacer por completo el footer y personalizarlo:
a) Comentar en themes/theme975/footer.tpl la linea <div class="row">{$HOOK_FOOTER}</div>
b) Escribir en su lugar el nuevo código HTML que se quiera incluir
GOOGLE MAPS LATITUD:
Si queremos modificar el zoom de google maps por defecto: \milenio_2014\themes\theme975\js: variable zoomOverride
IDIOMAS
Añadir/eliminar idiomas nuevos (luego para añadir los datos en cada idioma en la modificación de cada uno de los productos)
IMPORTAR:
Importar un CVS para volcar los productos o las categorías: Paramentros avanzados -> Importar CSV
LITERALES:
cambiar literales tanto del Backoffice como de la plantilla: LOCALIZACION -> Traducciones
MODOS DE PAGO:
Modulos -> Modulos -> Transferencia bancaria (rellenar los datos)
Modulos -> modulos -> cheque
Modulos -> modulos -> Paypal
MODULOS:
Añadir nuevos módulos al tema: MODULOS -> configurador de temas (themeconfigurator)
El fichero que carga los hooks con los modulos es: classes/controller/FrontController.php
Si queremos que se muestre o no las columnas de la izq o der: preferencias -> temas
Los modulos se llaman desde: themes/themexxx/layout.tpl
Modulo de Categorías IZQ: themes/theme975/modules/blockcategories/blockcategories.tpl
Modulo de Novedades IZQ: themes/theme975/modules/blocknewproducts/blocknewproducts.tpl
Modulo de Promociones especiales IZQ: themes/theme975/blockespeciales/blockspecials.tpl
Modulo de Productos más vistos IZQ: themes/theme975/blockviewed/blockviewed.tpl
Modulo subcategoria: themes/theme975/category.tpl
Modulo listado ordenar prod subcateg: themes/theme975/product-sort.tpl
Modulo spinner busqueda avanzada: blocklayered (por facetas)
PORTADA:
Cambiar logo portada: preferencias -> Temas
Cambiar textos del menu: Localización -> Traducciones -> Traducciones del módulos
Slider: modulos -> minic slider
Banner principal: Modulos -> Bloque de Banner
Activar/desactivar opciones así como añadir elementos nuevos: modulos -> modulos -> configurador de temas -> Añadir elemento (abajo): IMPORTANTE
Slider que viene por defecto en la plantilla estandar: modulos -> modulos -> Imagen de control deslizante para su página web
Menu horizontal superior: modulos -> modulos -> menu horizontal superior (añadir elementos a ese menu)
Productos destacados de la portada: Modulos -> Modulos -> Productos Destacados en la Página de inicio
Productos nuevos de la portada: Modulos -> Modulos -> Bloque de novedades
Productos más vendidos de la portada: modulos -> modulos -> Bloque más vendidos
PROVEEDORES:
Desactivarlos: modulos->modulos->Proveedor
REGLAS DE DESCUENTO
Reglas de descuento -> Vales descuento (aplicar el %): En el front se aplica al iniciar el proceso de carrita en la primera pestaña (Resumen)
Reglas de descuento -> Reglas de catálogo -> Se aplica al número de cantidades que se compra (Ej: Más de 3 un descuento del 50%)
TEMA ACTUAL:
preferencias -> temas
TIENDAS:
preferencias -> Contactos de la tienda
URLS:
cambiar puertos o activar las Urls amigables: Preferencias-> SEO + URLS
Si Cambiamos la tienda de sitio hay que modificar las tablas de la BD:
ps_configuration --> Las líneas PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL
ps_shop_url --> El campo physical_uri cambiar /tienda por /
VERSION PRESTASHOP:
Para saber la versión ir al pie del todo y pasar el ratón por encima y se verá el pie
Prestashop: resetear la contraseña del administrador si la hemos olvidado
Localizar el fichero:
config/settings.inc.php
y copiar el valor que tenga la variable: _COOKIE_KEY_ (por ejemplo: 25d55ad333aa400af464c76d713c07ad)
Ahora nos vamos a la base de datos y hacemos esta query en la tabla ps_employee:
update ps_employee set passwd=md5("25d55ad333aa400af464c76d713c07adminuevapassword") where email="micorreo@miweb.com"
Y ya podremos entrar en nuestra cuenta poniendo:
micorreo@miweb.com
minuevapassword
config/settings.inc.php
y copiar el valor que tenga la variable: _COOKIE_KEY_ (por ejemplo: 25d55ad333aa400af464c76d713c07ad)
Ahora nos vamos a la base de datos y hacemos esta query en la tabla ps_employee:
update ps_employee set passwd=md5("25d55ad333aa400af464c76d713c07adminuevapassword") where email="micorreo@miweb.com"
Y ya podremos entrar en nuestra cuenta poniendo:
micorreo@miweb.com
minuevapassword
Prestashop: Exportar de Excel a Prestashop
a) Añadir al Excel una primera columna con valor ;; para todos los registros
b) Exportar el Excel a CSV
c) Prestashop->Parámetros avanzados->Importar CSV
d) Cargar el CSV
e) archivo ISO 8859-1 codificado: SI
f) Separador de filas: ;;
g) Click en Próximo Paso y colocar cada columna en su correspondiente columna de Prestashop (se pueden ignorar las columnas que no queramos)
b) Exportar el Excel a CSV
c) Prestashop->Parámetros avanzados->Importar CSV
d) Cargar el CSV
e) archivo ISO 8859-1 codificado: SI
f) Separador de filas: ;;
g) Click en Próximo Paso y colocar cada columna en su correspondiente columna de Prestashop (se pueden ignorar las columnas que no queramos)
Suscribirse a:
Entradas (Atom)
