LogoLogo
Homepage
  • Documentations for PrestaShop 1.6
  • English documentation 1.6
    • Getting Started
      • What you need to get started
      • Installing PrestaShop
      • Installing PrestaShop on your computer
      • Installing PrestaShop using the command-line script
      • Updating and Uninstalling PrestaShop
      • Misc. information
    • Updating PrestaShop
      • Automatic update
      • Manual update
      • Making and restoring your own backup
      • In case of issues
    • User Guide
      • Training
      • Customizing your shop
      • Connecting to the PrestaShop back office
      • Discovering the Administration Area
      • Getting on board of PrestaShop
      • First steps with PrestaShop 1.6
      • Managing the Catalog
        • Managing Products
        • Managing Categories
        • Monitoring Your Catalog
        • Managing Product Attributes
        • Managing Product Features
        • Managing Manufacturers
        • Managing Suppliers
        • Building Image Maps
        • Managing Tags
        • Managing Attachments
      • Managing Orders
        • Orders
        • Invoices
        • Merchandise Returns
        • Delivery Slips
        • Credit Slips
        • Statuses
        • Order Messages
      • Managing Customers
        • Your customers
        • Customer addresses
        • Customer Groups
        • Shopping Carts
        • Customer Service
        • Your Contacts
        • Social Titles
        • Outstanding
      • Creating Price Rules and Vouchers
        • Cart Rules
        • Catalog price rules
        • Marketing modules
      • Managing Modules and Themes
        • Your Modules
        • Modules and Themes Catalog
        • Front office Positions
        • Payment Settings
      • Making the Native Modules Work
        • Administration modules
        • Advertising and Marketing modules
        • Analytics and Stats modules
        • Billing & Invoicing modules
        • Dashboard modules
        • Front Office Features modules
        • Mobile modules
        • Pricing and Promotions modules
        • SEO modules
        • Search and Filter modules
        • Shipping and Logistics modules
        • Site certification & Fraud prevention modules
        • Smart Shopping modules
        • Taxes & Invoicing modules
        • Translation modules
      • Managing Shipping
        • Managing Carriers
        • Shipping Preferences
      • Understanding Local Settings
        • Localization
        • Languages
        • Zones
        • Countries
        • States
        • Currencies
        • Taxes
        • Tax Rules
        • Translations
      • Understanding the Preferences
        • General Preferences
        • Orders Preferences
        • Products Preferences
        • Customers Preferences
        • Themes Preferences
        • SEO & URLs Preferences
        • CMS - Managing Static Content
        • Images Preferences
        • Store Contacts Preferences
        • Search Preferences
        • Maintenance Settings
        • Geolocation Preferences
      • Understanding the Advanced Parameters
        • Configuration Information
        • Performance Parameters
        • E-Mail Parameters
        • Multistore Parameters
        • CSV Import Parameters
        • DB Backup
        • SQL Manager
        • Logs Parameters
        • Webservice Parameters
      • Administering the back office
        • Administration Preferences
        • Quick Access Configuration
        • Employees Accounts Configuration
        • Employee Profiles
        • Profile permissions
        • Administration Menus Configuration
        • Merchant Expertise
      • Understanding Statistics
        • Statistics
        • Search Engines
        • Referrers
      • Advanced Stock Management
        • General Concepts
        • Presenting the Stock Management Interface
        • Stock Management Rules
      • Managing Multiple Shops
        • The multistore interface
        • Creating a new shop group
        • Creating a new shop
        • Setting a shop's URL
        • Sample Usages and Specifics
      • Complying with the GDPR
    • Developer Guide
      • Coding Standards
        • PHP Coding Standards
          • Pre-1.6.1.0 PHP Coding Standards
        • JavaScript Coding Standards
        • CSS, HTML, Smarty & Twig Coding Standards
        • Commits & Pull-requests Conventions
        • SQL Guidelines
      • Fundamentals of PrestaShop Development
      • Setting Up Your Local Development Environment
      • Diving into PrestaShop Core Development
        • Accessing the database
        • The Dispatcher
        • Controllers within PrestaShop
        • Views within PrestaShop
        • Managing Cookies
        • Managing Hooks
      • Creating a PrestaShop Module
        • What is a PrestaShop module?
        • Creating a first module
        • About the config.xml file
        • Adding a configuration page
        • Displaying content on the front office
        • Module translation
        • Enabling the Auto-Update
        • Development Troubleshooting
        • 1.6-specific Developer Documentation
          • Creating a Dashboard Module
          • Making your module work with Bootstrap
        • Miscellaneous developer documentation
          • Specifics of multistore module development
          • The Backward Compatibility Toolkit: Making your 1.5+ module compatible with PrestaS
          • Creating a payment module
          • Creating a carrier module
          • Tying your module to your Addons account
      • Developer tutorials
        • Best Practices of the Db Class
        • Developer tips and tricks
        • Handling special characters in links
        • Overriding default behaviors
        • PrestaShop's developer tools
        • Using jQuery and jQueryUI
        • Using the backward compatibility toolkit
        • Using the Context Object
        • Using the Helper classes
          • Using the HelperForm class
          • Using the HelperOptions class
          • Using the HelperList class
        • Using the PrestaShop Web Service
          • Web service one-page documentation
          • Web service tutorial
            • Chapter 1 - Creating an access to the back office
            • Chapter 2 - Discovery: Testing your access to the web service with the browser
            • Chapter 3 - First steps: Accessing the web service and listing customers
            • Chapter 4 - Data retrieval: Retrieving a customer
            • Chapter 5 - Data modification: Updating a customer
            • Chapter 6 - Data creation: Creating a remote online form
            • Chapter 7 - Data removal: Removing customer accounts from the database
            • Chapter 8 - Advanced use
            • Chapter 9 - Image management
            • Chapter 10 - Price management
            • Cheat-sheet: Concepts outlined in this tutorial
          • Web service reference
      • Contributing to PrestaShop
        • Contributing code to PrestaShop
        • How to use the Forge to contribute to PrestaShop
        • How to write a commit message
      • PrestaShop Cloud-specific development
    • Designer Guide
      • Theme development fundamentals
      • Organization of a Theme
      • Laying the Theme's Foundations
      • Theme templates and Smarty
      • Using jQuery and Ajax
      • Best practices
      • Bootstrap, Sass and Compass in PrestaShop 1.6
        • Using Bootstrap
        • Using Sass
        • Using Compass
      • Tying your theme to your Addons account
    • System Administrator Guide
      • Making your PrestaShop installation more secure
    • Merchant's Guide
      • Our e-commerce advices
      • Sample price rules
    • FAQ
      • Using PrestaShop 1.6 with WordPress
    • Troubleshooting
  • Documentation française 1.6
    • Guide de démarrage
      • Ce dont vous avez besoin
      • Installer PrestaShop
      • Installer PrestaShop sur votre propre ordinateur
      • Installer PrestaShop en ligne de commande
      • Mettre PrestaShop à jour
      • Informations diverses
    • Guide de mise à jour
      • Mise à jour automatique
      • Mise à jour manuelle
      • Faire une sauvegarde et la restaurer
      • En cas de problème
    • Guide de l'utilisateur
      • Formations
      • Personnaliser votre boutique
      • Se connecter au back-office de PrestaShop
      • Découvrir la zone d'administration
      • Premiers pas avec PrestaShop 1.6
      • Gérer le catalogue
        • Gérer les produits
        • Gérer les catégories
        • Faire le suivi de votre catalogue
        • Gérer les attributs de vos produits
        • Gérer les caractéristiques de vos produits
        • Gérer les fabricants
        • Gérer les fournisseurs
        • Construire des scènes
        • Gérer les mots-clés (tags)
        • Gérer les documents joints
      • Gérer les commandes
        • Commandes
        • Factures
        • Retours produits
        • Bons de livraison
        • Avoirs
        • États de commande
        • Messages prédéfinis
      • Gérer les clients
        • Vos clients
        • Adresses des clients
        • Groupes de clients
        • Paniers
        • Service Après-Vente
        • Vos contacts
        • Titres de civilité
        • Encours autorisés
      • Mettre en place des promotions
        • Règles paniers
        • Règles de prix catalogue
        • Modules marketing
      • Gérer les modules et les thèmes
        • Vos modules
        • Catalogue de modules et thèmes
        • Positions sur le front-office
        • Paramètres de paiement
      • Configurer les modules natifs
        • Modules Administration
        • Modules Drop-shipping
        • Modules Facturation
        • Modules Fonctionnalités front-office
        • Modules Guides d'achats
        • Modules Mobile
        • Modules Paiement
        • Modules Places de marché
        • Modules Prix & Promotion
        • Modules Publicité et marketing
        • Modules Recherche et filtres
        • Modules Référencement - SEO
        • Modules Sécurité des Paiements
        • Modules Statistiques et Analyses
        • Modules Transporteur et logistique
        • Modules Traduction
      • Gérer la livraison
        • Gérer les transporteurs
        • Préférences de livraison
      • Comprendre les réglages locaux
        • Localisation
        • Langues
        • Zones (fr)
        • Pays
        • États
        • Devises
        • Taxes (fr)
        • Règles de taxe
        • Traductions
      • Comprendre les préférences
        • Préférences générales
        • Préférences des commandes
        • Préférences des produits
        • Préférences des clients
        • Préférences des thèmes
        • Préférences SEO & URL
        • CMS - Gérer le contenu statique
        • Préférences des images
        • Préférences des coordonnées & magasins
        • Préférences de la recherche
        • Préférences de maintenance
        • Préférences de géolocalisation
      • Comprendre les paramètres avancés
        • Informations de configuration
        • Paramètres de performances
        • Paramètres des e-mails
        • Paramètres multiboutique
        • Paramètres d'import CSV
        • Sauvegarde BDD
        • Gestionnaire SQL
        • Paramètres de log
        • Paramètres du service web
      • Administrer le back-office
        • Préférences de l'administration
        • Configuration de l'Accès rapide
        • Configuration des comptes des employés
        • Profils des employés
        • Permissions des employés
        • Configuration des menus de l'administration
        • Expertise PrestaShop (Merchant Expertise)
      • Comprendre les statistiques
        • Statistiques
        • Moteurs de recherche
        • Affiliés
      • Gestion avancée des stocks
        • Concepts généraux
        • Présentation des interfaces gestion des stocks
        • Règles de gestion des stocks
      • Gérer plusieurs boutiques
        • L'interface multiboutique
        • Créer un nouveau groupe de boutiques
        • Créer une nouvelle boutique
        • Mettre en place l'adresse d'une boutique
        • Exemples d'utilisations et utilisations spécifiques
      • Embarquer à bord de PrestaShop
      • Etre conforme au RGPD
    • Guide du développeur
      • Adapter votre module à Bootstrap
      • Créer un module pour le tableau de bord
    • Guide de l'administrateur système
      • Rendre votre installation de PrestaShop plus sûre
      • Nos bons conseils
    • Guide du vendeur
      • Exemples de promotions
    • Questions fréquentes
    • Dépannage
  • Documentación española 1.6
    • Guía de Actualización
      • PrestaShop 1.6 : Actualización automática
      • PrestaShop 1.6 : Actualización manual
    • Introducción
      • Lo que necesita para empezar
      • Instalación de PrestaShop
      • Instalación de PrestaShop en su ordenador
      • Instalación de PrestaShop utilizando la secuencia de línea de comandos
      • Actualizar y desinstalar Prestashop
      • Informaciones diversas
    • Guía del Usuario
      • Formación
      • Personalización de tu tienda
      • Conexión al back-office de PrestaShop
      • Descubriendo el Área de Administración
      • Súbete a bordo de Prestashop - Haz un recorrido guiado
      • Primeros pasos con PrestaShop 1.6
      • Gestionar el Catálogo
        • Gestionar Productos
        • Gestionar Categorías
        • Monitorear tu Catálogo
        • Gestionar Atributos del Producto
        • Gestionar Características del Producto
        • Gestionar Fabricantes
        • Gestionar Proveedores
        • Gestionar Etiquetas
        • Mapeo de imágenes
        • Gestionar Archivos adjuntos
      • Gestionar Pedidos
        • Pedidos
        • Facturas
        • Devoluciones de mercancía
        • Albaránes de entrega
        • Facturas por abono (Notas de crédito)
        • Estados de Pedidos
        • Mensajes para Pedidos predefinidos
      • Gestionar Clientes
        • Tus clientes
        • PrestaShop 1.6 : Direcciones de clientes
        • Grupos de clientes
        • Carritos de compra
        • Servicio de atención al cliente
        • Tus Contactos
        • Tratamientos (Títulos sociales)
        • Saldo pendiente por cobrar (B2B)
      • Crear Reglas de precios y Cupones de descuento
        • Reglas del carrito
        • Reglas de Precios del catálogo
        • Módulos de Marketing
      • Gestionar Módulos y Temas
        • Tus Módulos
        • Catálogo de Módulos y Temas
        • Posiciones de los módulos en el Front-Office
        • Configurar Métodos de pago y restricciones
      • Configurar y trabajar con los Módulos nativos
        • Módulos de Administración
        • Módulos de Publicidad y Marketing
        • Módulos de Análisis y Estadísticas
        • Módulos de Impuestos y Facturación
        • Módulos Inicio
        • Módulos de Aplicaciones Front-Office
        • Módulos de Mercado
        • Módulos de Dispositivos móviles
        • Módulos de Pago Seguro
        • Módulos de Plataformas de pago
        • Módulos de Precios y Descuentos
        • Módulos SEO
        • Módulos de Búsqueda y Filtrado
        • Módulos de Envío y Logística
        • Módulos de Compras Inteligentes
        • Módulos de Traducciones
      • Gestionar Transporte
        • Gestionar Transportistas
        • Preferencias de Transporte
      • Comprender la configuración local
        • Localización
        • Idiomas
        • Zonas
        • Países
        • Provincias (Estados)
        • Monedas
        • Impuestos
        • Reglas de impuestos
        • Traducciones
      • Comprender las Preferencias
        • Preferencias Generales
        • Preferencias de Pedidos
        • Preferencias de Productos
        • Preferencias de Clientes
        • Preferencias de Temas
        • Preferencias SEO y URLs
        • CMS - Gestionar el Contenido Estático
        • Preferencias de Imágenes
        • Preferencias de Contactos de la tienda
        • Preferencias de Búsqueda
        • Preferencias de Mantenimiento
        • Preferencias de Geolocalización
      • Comprender los Parámetros avanzados
        • Información sobre la Configuración
        • Parámetros de Rendimiento
        • Parámetros de Correo electrónico
        • Parámetros Multitienda
        • Parámetros de Importación de archivos CSV
        • Copia de seguridad de la Base de Datos
        • Gestor de consultas SQL
        • Parámetros de Registros/Logs
        • Parámetros Webservice
      • Administrar el Back-Office
        • Administración de Preferencias
        • Configuración de Acceso rápido
        • Configuración de Cuentas de Empleados
        • Perfiles de Empleados
        • Permisos de Perfiles
        • Configuración de Menús de Administración
        • Experiencia Comercial (Experiencia minorista)
      • Comprender las Estadísticas
        • Estadísticas
        • Motores de búsqueda
        • Programa de afiliados
      • Gestión avanzada de stock
        • Conceptos Generales
        • Presentación de la interfaz back-office para gestionar el stock
        • Reglas del sistema de gestión
      • Gestionar múltiples tiendas
        • La interfaz multitienda
        • Crear un nuevo grupo de tiendas
        • Crear una nueva tienda
        • Configurar la URL de una tienda
        • Ejemplos de usos del modo multitienda
      • Cumplimiento de la legislación europea del RGPD
    • Guía del Desarrollador
      • Estándares de Codificación
  • Deutsche Dokumentation 1.6
    • Erste Schritte
      • Was für die Installation benötigt wird
    • Benutzerhandbuch
      • Übungen
      • Anpassung des Shops
      • Der PrestaShop Adminbereich
      • Entdecken der Administrationsoberfläche
      • Durchstarten mit PrestaShop
      • Erste Schritte in PrestaShop 1.6
      • Verwaltung des Katalogs
        • Artikel verwalten
        • Verwaltung der Kategorien
        • Kontrollübersicht
        • Artikelvarianten
        • Artikeleigenschaften
        • Hersteller
        • Lieferanten
        • Bildserien
        • Tags verwalten
        • Anhänge
      • Verwalten von Bestellungen
        • Bestellungen
        • Rechnungen
        • Warenrücksendungen
        • Lieferscheine
        • Rückvergütungen
        • Status
        • Bestellnachrichten
      • Kundenverwaltung
        • Kunden
        • Adressen
        • Gruppen
        • Warenkörbe
        • Kundenservice
        • Kontakte
        • Anreden
        • Offene Posten
      • Preisregeln und Gutscheine erstellen
        • Warenkorb Preisregeln
        • Katalog Preisregeln
        • Marketing-Addons
      • Module und Templates verwalten
        • Module
        • Modul- und Template-Shop
        • Positionen
        • Zahlungsart
      • Funktionen der Standardmodule
        • Verwaltungsmodule
        • Module zu Werbung & Marketing
        • Module zu Statistiken & Analysen
        • Module zu Zahlungen und Rechnungen
        • Dashboardmodule
        • Module zu Front-Office-Funktionen
        • Mobil-Module
        • Module zu Preisen & Sonderangeboten
        • SEO-Module
        • Such- und Filter-Module
        • Module zu Versand & Logistik
        • Module zur Seitenverifzierung und Betrugsprävention
        • Smart-Shopping-Module
        • Module zu Steuern & Rechnungen
        • Übersetzungsmodule
      • Versand
        • Versanddienste
        • Voreinstellungen verwalten
      • Lokalisierung
        • Lokalisierung verwalten
        • Sprachen
        • Gebiete
        • Länder
        • Bundesländer
        • Währungen
        • Steuersätze
        • Steuerregeln
        • Übersetzungen
      • Voreinstellungen
        • Allgemein
        • Voreinstellung Bestellungen
        • Voreinstellung Artikel
        • Voreinstellung Kunden
        • Templates
        • SEO & URLs
        • CMS-Seiten
        • Bilder
        • Shopadressen
        • Suche
        • Wartung
        • Geotargeting
      • Erweiterte Einstellungen
        • Systemeinstellungen
        • Leistung
        • E-Mail
        • Multishop
        • CSV-Import
        • Datenbank-Backup
        • SQL-Abfragen
        • Log-Dateien
        • Webservice
      • Verwaltung
        • Verwalten der Voreinstellungen
        • Schnellzugriff
        • Mitarbeiter
        • Profile
        • Berechtigungen
        • Menüpunkte
        • Handelserfolg
      • Statistiken
        • Statistiken verwalten
        • Suchmaschinen
        • Referrer
      • Erweiterte Lagerverwaltung
        • Allgemeines Konzept
        • Die Oberfläche der Lagerverwaltung
        • Regeln zur Lagerverwaltung
      • Verwalten mehrerer Shops
        • Das Multishop Interface
        • Erstellen einer neuen Shop Gruppe
        • Erstellen eines neuen Shops
        • Die URL eines Shops festlegen
  • Polska dokumentacja 1.6
    • Początek (PrestaShop 1.6)
      • Czego potrzebujesz, by zacząć?
      • Instalacja PrestaShop
    • Aktualizacja PrestaShop
      • Automatyczna aktualizacja
      • Ręczna aktualizacja
    • Przewodnik użytkownika
      • Szkolenia
      • Dostosowanie Twojego sklepu
      • Połączenie z panelem administracyjnym
      • Odkrywanie obszaru administracyjnego
      • Rozpocznij pracę z PrestaShopem
      • Pierwsze kroki
      • Zarządzanie katalogiem
        • Zarządzanie produktami
        • Zarządzanie kategoriami
        • Monitorowanie Twojego katalogu
        • Zarządzanie atrybutami produktów
        • Zarządzanie cechami produktów
        • Zarządzanie producentami
        • Zarządzanie dostawcami
        • Tworzenie map obrazów
        • Zarządzanie tagami
        • Zarządzanie załącznikami
      • Zarządzanie zamówieniami
        • Zamówienia
        • Faktury
        • Zwroty produktów
        • Druki wysyłki
        • Potwierdzenia zwrotów
        • Statusy
        • Powiadomienia o zamówieniu
      • Zarządzanie klientami
        • Twoi klienci
        • Adresy klientów
        • Grupy klientów
        • Koszyki zakupowe
        • Serwis obsługi klienta
        • Kontakty
        • Zwroty grzecznościowe
        • Saldo
      • Ustalanie reguł cenowych i promocyjnych
        • Reguły koszyka
        • Reguły cenowe katalogu
        • Moduły marketingu
      • Zarządzanie modułami i szablonami
        • Twoje moduły
        • Katalog modułów i szablonów
        • Pozycje we Front-Office
        • Ustawienia płatności
      • Konfiguracja modułów domyślnych
        • Moduły Administracyjne
        • Moduły Reklamy i Marketingu
        • Moduły Statystyk i Analiz
        • Moduły Fakturowania
        • Moduły Funkcjonalności Front-Office
        • Moduły Mobilne
        • Moduły Cen i promocje
        • Moduły pozycjonowania i SEO
        • Moduły Wyszukiwania i filtrów
        • Moduły Transportu i logistyki
        • Moduły Bezpieczeństwa płatności
        • Inne Moduły
      • Zarządzanie wysyłką
        • Zarządzanie przewoźnikami
        • Ustawienia wysyłki
      • Poznaj Ustawienia lokalne
        • Lokalizacja
        • Języki
        • Strefy
        • Kraje
        • Województwa lub regiony
        • Waluty
        • Podatki
        • Reguły podatków
        • Tłumaczenia
      • Poznaj Preferencje
        • Ustawienia ogólne
        • Zamówienia - Ustawienia
        • Produkty - Ustawienia
        • Klienci - Ustawienia
        • Szablony - Ustawienia
        • SEO & URL
        • CMS - Ustawienia
        • Zdjęcia - Ustawienia
        • Kontakty Sklepu
        • Szukaj
        • Przerwa techniczna
        • Geolokalizacja
      • Poznaj Parametry Zaawansowane
        • Informacje konfiguracyjne
        • Wydajność
        • Adres e-mail
        • Multisklep
        • Import CSV
        • Kopia zapasowa DB
        • Menadżer SQL
        • Logi
        • API
      • Administracja Panelem Adminstracyjnym
        • Preferencje Administracyjne
        • Szybki dostęp - konfiguracja
        • Konfiguracja kont Pracowników
        • Profile Pracowników
        • Uprawnienia
        • Menu - konfiguracja
        • Merchant Expertise Administracja
      • Poznaj Statystki
        • Statystyki
        • Wyszukiwarki
        • Polecający
      • Zaawansowane Zarządzanie magazynem
        • Uwagi ogólne
        • Prezentacja interfejsu zarządzania magazynem
        • Zasady zarządzania magazynem
      • Zarządzanie Multisklepem
        • Interfejs Mutlisklepu
        • Tworzenie nowej grupy sklepów
        • Tworzenie nowego sklepu
        • Ustalanie nowego adresu URL sklepu
        • Przykładowe użycie i specyfika
    • Przewodnik dewelopera
      • Coding Standards-
      • Fundamentals of PrestaShop Development -
      • Setting Up Your Local Development Environment -
      • Diving into PrestaShop Core Development -
        • Accessing the database-
        • The Dispatcher-
        • Controllers within PrestaShop-
        • Views within PrestaShop-
        • Managing Cookies -
        • Managing Hooks -
      • Creating a PrestaShop Module -
        • What is a PrestaShop module?-
        • Creating a first module-
        • About the config.xml file -
        • Adding a configuration page -
        • Displaying content on the front office -
        • Module translation -
        • Enabling the Auto-Update -
        • Development Troubleshooting -
        • 1.6-specific Developer Documentation -
          • Creating a Dashboard Module -
          • Making your module work with Bootstrap -
        • Miscellaneous developer documentation -
          • Specifics of multistore module development -
          • The Backward Compatibility Toolkit: Making your 1.5+ module compatible with PrestaS
          • Creating a payment module -
          • Creating a carrier module -
          • Tying your module to your Addons account -
      • Developer tutorials-
        • Best Practices of the Db Class -
        • Developer tips and tricks -
        • Handling special characters in links -
        • Overriding default behaviors -
        • PrestaShop's developer tools -
        • Using jQuery and jQueryUI -
        • Using the backward compatibility toolkit -
        • Using the Context Object -
        • Using the Helper classes -
        • Using the PrestaShop Web Service -
      • Contributing to PrestaShop -
        • Contributing code to PrestaShop -
        • How to use the Forge to contribute to PrestaShop -
        • How to write a commit message -
    • Przewodnik sprzedawcy
      • Our e-commerce advices -
      • Sample price rules -
    • FAQ - Najczęściej zadawane pytania
      • Używanie PrestaShop1.6 z WordPress
    • Rozwiązywanie problemów
    • Przewodnik projektanta
      • Podstawy rozwoju szablonu
      • Organizacja szablonu
      • Układanie Fundamentów Tematu
      • PSzablony tematyczne i Smarty
      • Korzystanie z jQuery i Ajax
      • Najlepsze praktyki
      • Bootstrap, Sass i Compass w PrestaShop 1.6
        • Używanie Bootstrap
        • Używanie Sass
        • Using Compass -
      • Tying your theme to your Addons account -
  • Documentazione Italiana 1.6
    • Come Cominciare
      • Di cosa hai bisogno per cominciare
      • Installazione di Prestashop
      • Installazione di PrestaShop sul tuo computer
      • Installazione di PrestaShop usando lo script da riga di comando.
    • Aggiornamento di PrestaShop
      • Aggiornamento automatico
    • Guida per l'Utente
      • Formazione
      • Personalizzare il tuo negozio
      • Connettersi al back office di PrestaShop
      • Scoprire l'Area Amministrativa
      • Salire a bordo di PrestaShop
      • Primi passi con PrestaShop 1.6
      • Gestire il Catalogo
        • Gestire i Prodotti
        • Gestire le Categorie
        • Osservare il Tuo Catalogo
        • Gestire gli Attributi Prodotto
        • Gestire le Funzioni Prodotto
        • Gestire i Produttori
        • Gestire i Fornitori
        • Creare mappature di immagini
        • Gestire i Tags
        • Gestire gli allegati
      • Gestione ordini
        • Fatture
        • Merce resa
        • Note di credito
        • Ordini
    • Guida allo sviluppo
      • Sovrascrittura del comportamento di default
    • Integrazione alla Guida Ufficiale
      • Codice Tracking corrieri Italiani
  • Nederlandse documentatie 1.6
    • Aan de slag
      • Benodigdheden
      • PrestaShop installeren
      • PrestaShop installeren op uw computer
      • PrestaShop installeren met behulp van het command line script
      • PrestaShop bijwerken en deïnstalleren
      • Overige informatie
    • PrestaShop bijwerken
      • Automatisch bijwerken
      • Handmatig bijwerken
      • Backups aanmaken en terugzetten
      • Wanneer er problemen optreden
    • Gebruikershandleiding
      • Cursussen & trainingen
      • Uw winkel aanpassen
      • Verbinding maken met de back office
      • Kennismaken met het administratiepaneel
      • Kom aan boord van PrestaShop
      • Eerste stappen met PrestaShop 1.6
      • De catalogus beheren
        • Producten beheren
        • Categorieën beheren
        • Uw catalogus monitoren
        • Productattributen beheren
        • Productkenmerken beheren
        • Fabrikanten beheren
        • Leveranciers beheren
        • Image mapping toepassen
        • Tags beheren
        • Bijlagen beheren
      • Bestellingen beheren
        • Bestellingen
        • Facturen
        • Retourzendingen
        • Pakbonnen
        • Creditnota's
        • Statussen
        • Bestellingsberichten
      • Klanten beheren
        • Uw klanten
        • Klantadressen
        • Klantengroepen
        • Winkelwagens
        • Klantenservice
        • Uw contacten
        • Aanhefsvormen
        • Openstaand bedrag
      • Prijsregels en waardebonnen aanmaken
        • Winkelwagenregels
        • Catalogus prijsregels
        • Marketingmodules
      • Modules en thema's beheren
        • Uw modules
        • Module- en themacatalogus
        • Frontoffice-posities
        • Betaalinstellingen
      • Vooraf geïnstalleerde modules gebruiken
        • Administratiemodules
        • Reclame- en marketingmodules
        • Analyse- en statistiekmodules
        • Modules voor betaalmethoden en gateways
        • Dashboardmodules
        • Modules voor extra winkelfuncties
        • Mobiele modules
        • Prijs- en promotiemodules
        • SEO-modules
        • Zoek- en filtermodules
        • Verzending- en logistiekmodules
        • Modules voor site-certificatie en fraudepreventie
        • Vergelijkingssites & Feed-beheer
        • Belasting- en facturatiemodules
        • Vertaalmodules
      • Zendingen beheren
        • Vervoerders beheren
        • Verzendinstellingen
      • Lokalisatie-instellingen
        • Lokalisatie
        • Talen
        • Zones / gebieden
        • Landen
        • Staten / provincies
        • Valuta's
        • Belastingen
        • Belastingregels
        • Vertalingen
      • Algemene instellingen
        • Algemeen instellen
        • Bestellingen instellen
        • Producten instellen
        • Klanten instellen
        • Thema's instellen
        • SEO & URL's instellen
        • CMS instellen - statische content beheren
        • Afbeeldingen instellen
        • Winkelcontacten beheren
        • Zoekinstellingen
        • Onderhoudsinstellingen
        • Geolocatie instellen
      • Geavanceerde instellingen
        • Configuratie-informatie bekijken
        • Prestaties instellen
        • E-mail instellen
        • Multistore instellen
        • CSV-bestanden importeren
        • Database backup
        • SQL-beheer
        • Logboek bekijken
        • Webservice instellen
      • Backoffice beheren
        • Administratie instellen
        • Snelle toegang instellen
        • Medewerkers instellen
        • Medewerkersprofielen instellen
        • Permissies instellen
        • Menu's instellen
        • Verkoopervaring instellen
      • Statistieken
        • Statistieken bekijken
        • Zoekmachines instellen
        • Referrers bekijken
      • Geavanceerd voorraadbeheer
        • Algemene concepten
        • Voorraadbeheer-interface
        • Regels voor voorraadbeheer
      • Meerdere winkels beheren
        • De multistore-interface
        • Een nieuwe winkelgroep aanmaken
        • Een nieuwe winkel aanmaken
        • Een URL voor de winkel instellen
        • Gebruiksvoorbeelden
    • Handleiding voor de winkelier
      • Onze e-commerce adviezen
      • Voorbeelden van prijsregels
    • Veelgestelde vragen
      • PrestaShop 1.6 integreren met WordPress
    • Probleemoplossing
  • Documentação em português 1.6
    • Começando com PrestaShop
      • O que você precisa para começar?
      • Instalando o PrestaShop
      • Instalando o PrestaShop em seu computador
      • Instalando o PrestaShop usando scripts de linha de comando
      • Atualizando e Desinstalando o PrestaShop
      • Outras Informações
    • Atualização do PrestaShop
      • Atualização Automática
      • Atualização Manual
      • Criando e restaurando o seu próprio backup
      • Em caso de problemas
    • Guia do Usuário
      • Treinamentos
      • Personalizando sua loja
      • Acessando o Back Office do PrestaShop
      • Descobrindo a Área Administrativa
      • Primeros Passos no PrestaShop 1.6
      • Gerenciamento do Catálogo
        • Gerenciamento dos Produtos
  • Οδηγίες χρήσης 1.6
    • Ξεκινώντας
      • Τι χρειάζεστε για να ξεκινήσετε
Powered by GitBook
On this page

Was this helpful?

Last updated 4 years ago

Was this helpful?

Table of content

/*<![CDATA[*/ div.rbtoc1597140223856 {padding: 0px;} div.rbtoc1597140223856 ul {list-style: disc;margin-left: 0px;} div.rbtoc1597140223856 li {margin-left: 0px;padding-left: 0px;} /*]]>*/

Best Practices of the Db Class

Most of the time, creating a module or overriding PrestaShop means using or inserting data in the database. Knowing how to properly use the DB core class is therefore mandatory for developers. Besides providing you with an abstraction for other potential database system, the DB class offers several tools to make your life easier.

This page explains the various methods, the contexts in which they should be used, and the development best practices.

At the bottom of the page are the main differences in the DB class between version 1.4 and 1.5+ of PrestaShop.

Fundamentals

The DB class is really made of two classes:

  • The Db class, which can found in the /classes/db/Db.php, and is abstracted.

  • A subclass which extends the Db class. Currently, three class abstractions are supported as subclasses: MySQL, MySQLi and PDO. PDO is used by default; however, if the PDO extension is not installed on the server, the MySQLi extension is used instead. And if MySQLi is not installed either, then MySQL is used.

Db is a pseudo-singleton, as it can still be manually instantiated, because its constructor is public. However, within PrestaShop, it is recommended to instantiate it this way:

In some cases, you might encounter this alternative:

If PrestaShop's database user allows the use of MySQL slave servers in its architecture, then this last instance's connection can be done on the slave servers. You should only use the PS_USE_SQL_SLAVE argument when making read-only queries (SELECT, SHOW, etc.), and only if these do not need a result to be immediately updated with a result. If you make a query on a table right after inserting data in that same table, you should make that query on the master server.

The available methods

insert()

Method signature: insert($table, $data, $null_values = false, $use_cache = true, $type = Db::INSERT, $add_prefix = true).

This method was created to automatically generate data insertion in the database, from a data table. It should be used instead of doing INSERT queries, unless these queries are rather complex (use of SQL functions, nested queries, etc.).

Building every query using one method allows you to centralize your calls. If one day you need to perform a specific processing on some tables during data insertion, you can do so by overloading this method using PrestaShop's overriding system.

Fictitious example:

Triggering this code generates the following SQL query:

Make sure that your data is always checked and protected when doing an insertion. In our example, we want to make sure that we do have an integer with an explicit (int) cast, and that the name is protected against SQL injections thanks to the pSQL() method.

Method parameters

update()

Method signature: update($table, $data, $where = '', $limit = 0, $null_values = false, $use_cache = true, $add_prefix = true)

This method works as the insert() method does, but for data update (UPDATE queries). Both have roughly the same parameters, with type gone and these two additions:

update() does not protect your code from hacking attempts (SQL injections, XSS flaws and CRSF breaches). You still have to secure your data yourself. One PrestaShop-specific securization method is pSQL($value): it helps protect your database against SQL injections.

delete()

Method signature: delete($table, $where = '', $limit = 0, $use_cache = true, $add_prefix = true).

This method is an equivalent to insert() and update(), only for DELETE queries. You should use it for the same reasons.

The $limit parameter enables you to limit the number of records to that you wish to delete. The other advantage of this method is that it will be used by PrestaShop's SQL queries cache system, and will therefore delete the affected queries in cache, unles the $use_cache is false.

Example:

...will generate the following query:

delete() does not protect your code from hacking attempts (SQL injections, XSS flaws and CRSF breaches). You still have to secure your data yourself. One PrestaShop-specific securization method is pSQL($value): it helps protect your database against SQL injections.

execute()

Method signature: execute($sql, $use_cache = 1).

This method executes the given SQL query. It should only be used for 'write' queries (INSERT, UPDATE, DELETE, TRUNCATE, etc.), because it also deletes the query cache (unles $use_cache is set to false).

Example:

You should use insert(), update() and delete() as much as possible, and only use execute() if the query gets too complex. Please note that this method returns a boolean value (true or false), not a database resource that can then be used.

execute() does not protect your code from hacking attempts (SQL injections, XSS flaws and CRSF breaches). You still have to secure your data yourself. One PrestaShop-specific securization method is pSQL($value): it helps protect your database against SQL injections.

query()

Method signature: query($sql).

All the method of the DB classes that make SQL query use the query() as the common, low-level method. It does the same as the execute() method, with two exceptions:

  • No cache control management.

  • Will not return a boolean; instead returns a database resource that you can use with other DB class methods, such as nextRow().

executeS()

Method signature: executeS($sql, $array = true, $use_cache = 1).

This method executes a given SQL query, and makes that whole resulting data available through a multidimensional array. It should only be used for 'read' queries (SELECT, SHOW, etc.). The query's results are cached, unless the $use_cache parameter is set to false. The second parameter, $array(), is deprecated and should not be used, leave it as true.

Example:

executeS() does not protect your code from hacking attempts (SQL injections, XSS flaws and CRSF breaches). You still have to secure your data yourself. One PrestaShop-specific securization method is pSQL($value): it helps protect your database against SQL injections.

getRow()

Method signature: getRow($sql, $use_cache = 1).

This method executes a given SQL query and retrieves the first row of results. It should only be used with 'read' queries (SELECT, SHOW, etc.). The query's results are cached, unless the $use_cache parameter is set to false.

This method automatically adds a LIMIT clause to the query. Be careful not to add one manually.

Example:

getRow() does not protect your code from hacking attempts (SQL injections, XSS flaws and CRSF breaches). You still have to secure your data yourself. One PrestaShop-specific securization method is pSQL($value): it helps protect your database against SQL injections.

getValue()

Method signature: getValue($sql, $use_cache = 1).

This method executes a given SQL query and retrieves the first value of the first row of results. It should only be used with 'read' queries (SELECT, SHOW, etc.). The query's results are cached, unless the $use_cache parameter is set to false.

This method automatically adds a LIMIT clause to the query. Be careful not to add one manually.

Example:

getValue() does not protect your code from hacking attempts (SQL injections, XSS flaws and CRSF breaches). You still have to secure your data yourself. One PrestaShop-specific securization method is pSQL($value): it helps protect your database against SQL injections.

NumRows()

This method caches and returns the number of results from the most recent SQL query;

This method has not yet been deprecated, but it is still not recommended to use for best-practices reasons. Indeed, it is better to retrieve the number of results using a SELECT COUNT (*) before.

A few other methods

  • Insert_ID(): returns the ID created during the latest INSERT query.

  • Affected_Rows(): returns the number of lines impacted by the latest UPDATE or DELETE query.

  • getMsgError(): returns the latest error message, if the query has failed.

  • getNumberError(): returns the latest error number, if the query has failed.

Security

Note that none of the above methods escape the query itself. You will have to do that using either pSQL() or bqSQL().

pSQL() is an alias for Db::getInstance()->escape($string, $htmlOK);

It has the following PHPDoc comment:

It accepts a string that will be sanitized by the function. If your string contains HTML-code, be sure to pass the argument $htmlOK = true as well.

bqSQL() can also be used. Note that besides escaping the ` character, it also calls pSQL() afterwards, but without the option to sanitize HTML.

$db = Db::getInstance();
$db = Db::getInstance(_PS_USE_SQL_SLAVE_);
$target = Tools::getValue('id');
$name = Tools::getValue('name');
Db::getInstance()->insert('target_table', array(
	'id_target'	=> (int)$target,
	'name'		=> pSQL($name),
));
INSERT INTO `prefix_target_table` (`id_target`, `name`) VALUES (10, 'myName')

Parameter

Description

$table

Table's name. The PrestaShop prefix is automatically inserted, you do not have to put it in.

$data

The data array, containing the data to be inserted, with name as keys and data as values.

$null_values

If true, then values that are passed as NULL will be inserted as such in the database.

$use_cache

If false, PrestaShop's cache management is disabled during this query. Do not change this parameter unless you knew exactly what you are doing.

$type

If you wish to change the insertion, this parameter can take the following constants: Db::INSERT, Db::INSERT_IGNORE or Db::REPLACE.

$add_prefix

If false, table prefix will not be automatically added to the table name.

Parameter

Description

$where

Takes the update's WHERE clause.

$limit

You can limit the number of records that you will update.

Db::getInstance()->delete('target_table', 'myField < 15', 3);
DELETE FROM `prefix_target_table` WHERE myField < 15 LIMIT 3
$sql = 'DELETE FROM '._DB_PREFIX_.'product WHERE active = 0';
if (!Db::getInstance()->execute($sql))
	die('Erreur etc.)';
$sql = 'SELECT * FROM '._DB_PREFIX_.'shop';
if ($results = Db::getInstance()->ExecuteS($sql))
	foreach ($results as $row)
		echo $row['id_shop'].' :: '.$row['name'].'<br />';
$sql = 'SELECT * FROM '._DB_PREFIX_.'shop
	WHERE id_shop = 42’;
if ($row = Db::getInstance()->getRow($sql))
	echo $row['id_shop'].' :: '.$row['name'];
$sql = 'SELECT COUNT(*) FROM '._DB_PREFIX_.'shop';
$totalShop = Db::getInstance()->getValue($sql);
/**
 * Sanitize data which will be injected into SQL query
 *
 * @param string $string SQL data which will be injected into SQL query
 * @param bool $htmlOK Does data contain HTML code ? (optional)
 * @return string Sanitized data
 */
  1. Polska dokumentacja 1.6
  2. Przewodnik dewelopera
  3. Developer tutorials-

Best Practices of the Db Class -

PreviousDeveloper tutorials-NextDeveloper tips and tricks -
  • Best Practices of the Db Class
  • Fundamentals
  • The available methods
  • Security
Best Practices of the Db Class
Fundamentals
The available methods
insert()
update()
delete()
execute()
query()
executeS()
getRow()
getValue()
NumRows()
A few other methods
Security