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
  • PHP
  • Variable names
  • Assignments
  • Operators
  • Statements
  • Visibility
  • Method / Function names
  • Enumeration
  • Objects / Classes
  • Constants
  • Keywords
  • Configuration variables
  • Strings
  • Comments
  • Return values
  • Call
  • Tags
  • Indentation
  • Array
  • Block
  • Security
  • Limitations
  • Other
  • SQL
  • Table names
  • SQL query
  • Installing the code validator (PHP CodeSniffer)
  • PhpStorm integration
  • Integration to vim
  • Command line (Linux)

Was this helpful?

  1. English documentation 1.6
  2. Developer Guide
  3. Coding Standards
  4. PHP Coding Standards

Pre-1.6.1.0 PHP Coding Standards

PreviousPHP Coding StandardsNextJavaScript Coding Standards

Last updated 4 years ago

Was this helpful?

Starting with version 1.6.1.0, the PrestaShop Core codebase has switched to the and . See the reasons why on the on the Build PrestaShop devblog.

This page is kept up for reference's sake.

If you are developping new modules for PrestaShop 1.6.1.0+, or contributing to the PrestaShop project, you are not supposed to use these guidelines anymore. Please follow the . Thank you.

Table of contents

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

PHP

Variable names

Just like class, method and function names, variable names should be written in English so as to be readable to as many people as possible.

Use lowercase letters, and separate words using underscores. Do not ever use CamelCase for variable names, only for method/function and object/class names.

  1. Corresponding to data from databases: $my_var.

  2. Corresponding to algorithm: $my_var.

  3. The visibility of a member variable does not affect its name: private $my_var.

Assignments

  1. There should be a space between variable and operators:

$my_var = 17;
$a = $b;

Operators

  1. "+", "-", "*", "/", "=" and any combination of them (e.g. "/=") need a space between their left and right members.

    $a + 17;
    $result = $b / 2;
    $i += 34;
  2. "." does not have a space between its left and right members.

    echo $a.$b;
    $c = $d.$this->foo();

    Recommendation

    For performance reasons, please do not overuse concatenation.

  3. ".=" needs a space between its left and right members.

    $a .= 'Debug';
  4. When testing a boolean variable, do not use a comparison operator, but directly use the value itself, or the value prefixed with an exclamation mark:

    // do not use this
    if ($var == true)
    // ...nor this
    if ($var == false)
    
    // use this
    if ($var)
    // ...or this
    if (!$var)

Statements

  1. if, elseif, while, for: need a space between the if keyword and the parentheses ().

    if (<condition>)
    
    while (<condition>)
  2. When a combination of if and else is used and both can return a value, the else statement has to be omitted.

    if (<condition>)
    	return false;
    return true;

    Recommendation

    We recommend you to use only one return statement per method/function.

  3. When a method/function returns a boolean and the current method/function's returned value depends on it, the if statement has to be avoided.

    public aFirstMethod()
    {
    	return $this->aSecondMethod();
    }
  4. Tests must be grouped by entity.

    if ($price && !empty($price))
    	...
    if (!Validate::$myObject || $myObject->id === NULL)
    	...

Visibility

  1. The visibility must be defined every time, even when it is a public method.

  2. The order of the method properties should be: visibility static function functionName().

    private static function foo()

Method / Function names

  1. Method and function names always use CamelCase: begin with a lowercase character and each following words must begin with an uppercase character.

    public function myExampleMethodWithALotOfWordsInItsName()
  2. Braces introducing method code have to be proceeded by a carriage return.

    public function myMethod($arg1, $arg2)
    {
    	...
    }
  3. Method and function names must be explicit, so function names such as b() or ef()are completely forbidden.

    Exceptions

    The only exceptions are the translation function (called l()) and the debug functions (named p() and d()).

Enumeration

Commas have to be followed (and not preceded) by a space.

protected function myProtectedMethod($arg1, $arg2, $arg3 = null)

Objects / Classes

  1. Object name must be singular.

    class Customer
  2. Class name must follow the CamelCase practice, except that the first letter is uppercase.

    class MyBeautifulClass

Constants

  1. Constant names must be written in uppercase, except for "true", "false" and "null" which must be lowercase: ENT_NOQUOTE, true.

  2. Constant names have to be prefixed with "PS_" inside the core and module.

    define('PS_DEBUG', 1);
    define('PS_MODULE_NAME_DEBUG', 1);
  3. Constant names should only use alphabetical characters and "_".

Keywords

All keywords have to be lowercase: as, case, if, echo, null.

Configuration variables

Configuration variables follow the same rules as defined above.

Strings

Strings have to be surrounded by simple quotes, never double ones.

echo 'Debug';
$myObj->name = 'Hello '.$name;

Comments

  1. Inside functions and methods, only the "//" comment tag is allowed.

  2. After the "//" comment marker, a space is required:

    // My great comment
  3. The "//" comment marker is tolerated at the end of a code line.

    $a = 17 + 23; // A comment inside my example function
  4. Outside of functions and methods, only the "/*" and "*/" comment markers are allowed.

    /* This method is required for compatibility issues */
    public function foo()
    {
    	// Some code explanation right here
    	...
    }
  5. A phpDoc comment block is required before the declaration of the method.

    /**
     * Return field value if possible (both classical and multilingual fields)
     *
     * Case 1: Return value if present in $_POST / $_GET
     * Case 2: Return object value
     *
     * @param object $obj Object
     * @param string $key Field name
     * @param integer $id_lang Language id (optional)
     * @return string
     */
    protected function getFieldValue($obj, $key, $id_lang = NULL)

    For more informations

Return values

  1. The return statement does not need brackets, except when it deals with a composed expression.

    return $result;
    return ($a + $b);
    return (a() - b());
    return true;
  2. The return statement can be used to break out of a function.

    return;

Call

Performing a function call preceded by a "@" is forbidden, but beware of function/method call with login/password or path arguments.

myfunction();

// In the following example, we put a @ for security reasons
@mysql_connect(...);

Tags

  1. There must be an empty line after the PHP opening tag.

    <?php
    
    require_once('my_file.inc.php');
  2. The PHP closing tag is forbidden at the end of a file.

Indentation

  1. The tabulation character ("\t") is the only indentation character allowed.

  2. Each indentation level must be represented by a single tabulation character.

    function foo($a)
    {
    	if ($a == null)
    		return false;
    	...
    }

Array

  1. The array keyword must not be followed by a space.

    array(17, 23, 42);
  2. When too much data is inside an array, the indentation has to be as follows:

    $a = array(
    	36 => $b,
    	$c => 'foo',
    	$d => array(17, 23, 42),
    	$e => array(
    		0 => 'zero',
    		1 => $one
    	)
    );

Block

Braces are prohibited when they only define one instruction or a combination of statements.

if (!$result)
    return false;
 
for ($i = 0; $i < 17; $i++)
    if ($myArray[$i] == $value)
    {
        $result[] = $myArray[$i];
        return $result;
    }
    else
        $failed++;

Security

  1. All users' data (data entered by users) has to be cast.

    $data = Tools::getValue('name');
    
    $myObject->street_number = (int)Tools::getValue('street_number');

    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.

  2. All method/function's parameters must be typed (when Array or Object) when received.

    public myMethod(Array $var1, $var2, Object $var3)
  3. For all other parameters, they have to be cast each time they are used, except when they are sent to other methods/functions.

    protected myProtectedMethod($id, $text, $price)
    {
    	$this->id = (int)$id;
    	$this->price = (float)$price;
    	$this->callMethod($id, $price);
    }

Limitations

  1. Source code lines are limited to 150 characters wide.

  2. Functions and methods lines are limited to 80 characters. Functions must have a good reason to have an overly long name: keep it to the essential!

Other

  1. It is forbidden to use a ternary into another ternary, such as echo ((true ? 'true' : false) ? 't' : 'f');.

  2. We recommend the use of && and || into your conditions instead of AND and OR: echo ('X' == 0 && 'X' == true).

  3. Please refrain from using reference parameters, such as:

    function is_ref_to(&$a, &$b) { ... }

SQL

Table names

  1. Table names must begin with the PrestaShop "_DB_PREFIX_" prefix.

    ... FROM `'. _DB_PREFIX_.'customer` ...
  2. Table names must have the same name as the object they reflect: "ps_cart".

  3. Table names have to stay singular: "ps_order".

  4. Language data have to be stored in a table named exactly like the object's table, and with the "_lang" suffix: "ps_product_lang".

SQL query

  1. Keywords must be written in uppercase.

    SELECT `firstname`
    FROM `'._DB_PREFIX_.'customer`
  2. Back quotes ("`") must be used around SQL field names and table names.

    SELECT p.`foo`, c.`bar`
    FROM `'._DB_PREFIX_.'product` p, `'._DB_PREFIX_.'customer` c
  3. Table aliases have to be named by taking the first letter of each word, and must be lowercase.

    SELECT p.`id_product`, pl.`name`
    FROM `'._DB_PREFIX_.'product` p
    NATURAL JOIN `'._DB_PREFIX_.'product_lang` pl
  4. When conflicts between table aliases occur, the second character has to be also used in the name.

    SELECT ca.`id_product`, cu.`firstname`
    FROM `'._DB_PREFIX_.'cart` ca, `'._DB_PREFIX_.'customer` cu
  5. A new line has to be created for each clause.

    $query = 'SELECT pl.`name`
    FROM `'._DB_PREFIX_.'product_lang` pl
    WHERE pl.`id_product` = 17';
  6. It is forbidden to make a JOIN in a WHERE clause.

Installing the code validator (PHP CodeSniffer)

PhpStorm integration

  1. Go to Settings -> Inspection -> PHP -> PHP Code Sniffer.

  2. Set the path to the phpcs executable.

  3. Set the coding standard as "PrestaShop" (which is only available if you did put in CodeSniffer's /Standards folder).

Integration to vim

You can add two shortcuts (for instance, F9 to display everything and Ctrl+F9 to hide warnings) in your .vimrc file in normal and insert mode:

nmap <C-F9>:CodeSniffErrorOnly<CR>
imap <C-F9> <Esc>:CodeSniffErrorOnly<CR>
nmap <F9>:CodeSniff<CR>
imap <F9> <Esc>:CodeSniff<CR>a		

Command line (Linux)

You do not have to use PhpStorm to use PHP CodeSniffer, you can also install it so that it can be called from the command line.

  1. Set the Prestashop standard as the default one $> phpcs --config-set default_standard Prestashop

The various options for this command are well explained in its documentation. For now, here is the easy way to launch it:

$> phpcs --standard=/path/to/norm/Prestashop /folder/or/fileToCheck

In order to only display errors, not warnings:

$> phpcs --standard=/path/to/norm/Prestashop --warning-severity=99 /folder/or/fileToCheck

If you have already manually installed PHP CodeSniffer, the program should be in PEAR's /scripts folder.

Windows users: although the phpcs.bat file should be in that /scripts folder, you might have to edit it in order for it to work properly (replace the paths with yours):

path/to/php.exe -d auto_apprend_file="" -d auto_prepend_file -d include_path="path/to/PEAR/" path/to/pear/scripts/phpcs

For more information about the PHP Doc syntax: .

This is a brief tutorial on how to install a code validator on your PC and use it to validate your files. The code validator uses PHP CodeSniffer, which is a PEAR package (). The PrestaShop code standard was created specifically for CodeSniffer, using many rules taken from existing standards, with added customized rules in order to better fit our project.

You can download the PrestaShop code standard using Git: (you must perform this step before going any further with this tutorial).In order for it to be recognized as a basic standard, it must be placed in the CodeSniffer's /Standards folder

If you use PhpStorm (), follow these steps:

Several plugins are available online. For instance, you can use this one: Put in your ~/.vim/plugin folder.

Install PEAR: $> apt-get install php-pear

Install PHP CodeSniffer in PEAR: $> pear install PHP_CodeSniffer

Add the PrestaShop standard that you downloaded from SVN earlier, and place it in PHP CodeSniffer's "Standards" folder. $> git clone /usr/share/php/PHP/CodeSniffer/Standards/Prestashop

http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.pkg.html
http://pear.php.net/package/PHP_CodeSniffer/
https://github.com/PrestaShop/PrestaShop-norm-validator
http://www.jetbrains.com/phpstorm/
https://github.com/bpearson/vim-phpcs/blob/master/plugin/phpcs.vim
http://pear.php.net/
http://pear.php.net/package/PHP_CodeSniffer
https://github.com/PrestaShop/PrestaShop-norm-validator
PSR-1 coding standard
PSR-2 coding style guide
announcement article
current coding standards
PHP
Variable names
Assignments
Operators
Statements
Visibility
Method / Function names
Enumeration
Objects / Classes
Constants
Keywords
Configuration variables
Strings
Comments
Return values
Call
Tags
Indentation
Array
Block
Security
Limitations
Other
SQL
Table names
SQL query
Installing the code validator (PHP CodeSniffer)
PhpStorm integration
Integration to vim
Command line (Linux)