ccc

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 />', ' ');
    }




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

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
   

   
   

Prestashop: Problemas al migrar de local a real

http://webartesanal.com/blog/como-trasladar-o-migrar-una-tienda-prestashop-de-localhost-a-un-servidor-online/

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


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)