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
  • File structure for a PrestaShop module
  • The PrestaShop coding convention
  • Creating a first module
  • The constant test
  • The main class
  • The constructor method
  • Building the install() and uninstall() methods
  • The install() method
  • The uninstall() method
  • The Configuration object
  • The main methods
  • Retrieving external values from the ps_configuration data table
  • The Shop object
  • The icon file
  • Installing the module

Was this helpful?

  1. English documentation 1.6
  2. Developer Guide
  3. Creating a PrestaShop Module

Creating a first module

PreviousWhat is a PrestaShop module?NextAbout the config.xml file

Last updated 4 years ago

Was this helpful?

Creating a first module:

File structure for a PrestaShop module

A module is made of a lot of files, all stored in a folder that bears the same name as the module, that folder being in turn stored in the /modules folder at the root of the main PrestaShop folder: /modules/name_of_the_module/.

Here are the possible files and folders for a PrestaShop 1.6 module:

File/folder name

Description

Details

name_of_the_module.php

Main file.

The main PHP file should have the same name as the module's root folder. For instance, for the BlockCMS module:

  • Folder name: /modules/blockcms

  • Main file name: /modules/blockcms/blockcms.php

config.xml

Cache configuration file.

If it does not exist yet, this file is automatically generated by PrestaShop when the module is first installed.

logo.gif or logo.jpg (up to v1.4) logo.png (v1.5+)

Icon files representing this module in the back office.

PrestaShop 1.4: 16*16 pixels Gif or Jpeg file. PrestaShop 1.5: 32*32 pixels PNG file. If your module works on both PrestaShop 1.4 and PrestaShop 1.5+, you should have both a logo.gif AND a logo.png file.

/views

This folder contains the View files.

/views/templates

This folder contains your module's template files (.tpl).

If the module needs to work with PrestaShop 1.4, the template files should be placed either directly at at the root of the module's folder, or in a /template folder at the root of the module's folder.

/views/templates/admin

Sub-folder for template files used by the module's administration controllers.

/views/templates/front

Sub-folder for template files used by the module's front office controllers.

/views/templates/hook

Sub-folder for template files used by the module's hooks.

/views/css

Sub-folder for CSS files used.

If the module needs to work with PrestaShop 1.4, the CSS files should be placed in a /css folder at the root of the module's folder.

/views/js

Sub-folder for JavaScript files.

If the module needs to work with PrestaShop 1.4, the JavaScript files should be placed in a /js folder at the root of the module's folder.

/views/img

Sub-folder for image files.

If the module needs to work with PrestaShop 1.4, the image files should be placed in a /img folder at the root of the module's folder.

/controllers

This folder contains the Controller files.

You can use the same sub-folder paths as for the View files. For instance, /modules/bankwire/controllers/front/payment.php .

/override

Sub-folder for the class-overriding code.

This is very useful when you need to change some of the default PrestaShop code. Since you must not do so, you can override the default code. For instance, /modules/gsitemap/override/classes/Shop.php extends the default ShopCore class.

/translations

Sub-folder for the translation files.

fr.php, en.php, es.php, etc.

/themes/[theme_name]/modules

Sub-folder for overriding .tpl files and languages files, if necessary.

This folder is essential during modifications of an existing module, so that you can adapt it without having to touch its original files. Notably, it enables you to handle the module's template files in various ways, depending on the current theme.

/upgrade

Sub-folder for upgrade files

When releasing a new version of the module, the older might need an upgrade of its data or files. This can be done using this folder.

Only the three first are necessary for a basic module: the main file, the cache configuration file (which is autogenerated by PrestaShop anyway) and the icon file. All the other ones can be used if necessary, but a module can work without them. The module can also as many other files and folders as necessary: /css, /img, /js, etc.

If wish to use an external library, it should be put in a dedicated folder.

That folder can use one of these names: 'lib', 'libs', 'libraries', 'sdk', 'vendor', 'vendors'.

Choose the most appropriate one for your library (indeed, 'libraries' doesn't not have the same meaning as 'sdk'). You can have more than one such folder, for instance /lib and /sdk.

The PrestaShop coding convention

Before you start writing code for your PrestaShop module, you should be aware that the PrestaShop team uses a specific set of coding convention (or coding standards, coding norm, etc.).

Creating a first module

Let's create a simple first module; this will enable us to better describe its structure. We will name it "My module".

First, create the module's folder, in the /modules folder. It should have the same name as the module, with no space, only alphanumerical characters, the hyphen and the underscore, all in lowercase: /mymodule.

This folder must contain the main file, a PHP file of the same name as the folder, which will handle most of the processing: mymodule.php.

That is enough for a very basic module, but obviously more files and folders can be added later.

The constant test

The main mymodule.php file must start with the following test:

<?php	
if (!defined('_PS_VERSION_')) {
  exit;
} 

This checks for the existence of an always-existing PrestaShop constant (its version number), and if it does not exist, it stops the module from loading. The sole purpose of this is to prevent malicious visitors to load this file directly.

Note that, as required by the PrestaShop Coding Standards (see above), we do not use a PHP closing tag.

The main class

The main file must contain the module's main class (along with other classes if needed). PrestaShop uses Object-Oriented programming, and so do its modules.

<?php
if (!defined('_PS_VERSION_')) {
  exit;
}

class MyModule extends Module
{
}

It can just as well extend any class derived from Module, for specific needs: PaymentModule, ModuleGridEngine, ModuleGraph, etc.

At this stage, if you place the module's folder on the /modules folder, the module can already be seen in the "Modules" page in the back office, in the "Other modules" section – albeit with no real name nor thumbnail.

The constructor method

Now, let's fill the class' code block with the essential constructor lines. A constructor is a function in a class that is automatically called when you create a new instance of a class with new. In the case of a PrestaShop, the constructor class is the first method to be called when the module is loaded by PrestaShop. This is therefore the best place to set most of its details.mymodule.php

<?php
if (!defined('_PS_VERSION_')) {
  exit;
}

class MyModule extends Module
{
  public function __construct()
  {
    $this->name = 'mymodule';
    $this->tab = 'front_office_features';
    $this->version = '1.0.0';
    $this->author = 'Firstname Lastname';
    $this->need_instance = 0;
    $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_);	
    $this->bootstrap = true;

    parent::__construct();

    $this->displayName = $this->l('My module');
    $this->description = $this->l('Description of my module.');

    $this->confirmUninstall = $this->l('Are you sure you want to uninstall?');

    if (!Configuration::get('MYMODULE_NAME')) {
      $this->warning = $this->l('No name provided');
    }
  }
}

Let's examine each line from this first version of the MyModule class...

public function __construct()

This line defines the class' constructor function.

$this->name = 'mymodule';
$this->tab = 'front_office_features';
$this->version = '1.0';
$this->author = 'Firstname Lastname';

This section assigns a handful of attributes to the class instance (this):

  • 'name' attribute. This attributes serves as an internal identifier. The value MUST be the name of the module's folder. Do not use special characters or spaces, and keep it lower-case.

  • 'tab' attribute. The title for the section that shall contain this module in PrestaShop's back office modules list. You may use an existing name, such as seo, front_office_features or analytics_stats, or a custom one. In this last case, a new section will be created with your identifier. We chose "front_office_features" because this first module will mostly have an impact on the front-end.

    Here is the list of available "Tab" attributes, and their corresponding section in the "Modules" page:

    "Tab" attribute

    Module section

    administration

    Administration

    advertising_marketing

    Advertising & Marketing

    analytics_stats

    Analytics & Stats

    billing_invoicing

    Billing & Invoices

    checkout

    Checkout

    content_management

    Content Management

    dashboard

    Dashboard

    emailing

    E-mailing

    export

    Export

    front_office_features

    Front Office Features

    i18n_localization

    I18n & Localization

    market_place

    Market Place

    merchandizing

    Merchandizing

    migration_tools

    Migration Tools

    mobile

    Mobile

    others

    Other Modules

    payments_gateways

    Payments & Gateways

    payment_security

    Payment Security

    pricing_promotion

    Pricing & Promotion

    quick_bulk_update

    Quick / Bulk update

    search_filter

    Search & Filter

    seo

    SEO

    shipping_logistics

    Shipping & Logistics

    slideshows

    Slideshows

    smart_shopping

    Smart Shopping

    social_networks

    Social Networks

  • 'version' attribute. The version number for the module, displayed in the modules list. It is a string, so that you may use such variation as "1.0b", "3.07 beta 3" or "0.94 (not for production use)".

  • 'author' attribute. This is displayed as-is in the PrestaShop modules list.

Let's continue with the next line in this block of code:

$this->need_instance = 0;
$this->ps_versions_compliancy = array('min' => '1.5', 'max' => '1.6');	
$this->bootstrap = true;

This section handles the relationship with the module and its environment (namely, PrestaShop):

  • need_instance. Indicates whether to load the module's class when displaying the "Modules" page in the back office. If set at 0, the module will not be loaded, and therefore will spend less resources to generate the "Modules" page. If your module needs to display a warning message in the "Modules" page, then you must set this attribute to 1.

  • ps_versions_compliancy. Indicates which version of PrestaShop this module is compatible with. In the example above, we explicitly write that this module will only work with PrestaShop 1.5.x, and no other major version.

  • bootstrap. Indicates that the module's template files have been built with PrestaShop 1.6's bootstrap tools in mind – and therefore, that PrestaShop should not try to wrap the template code for the configuration screen (if there is one) with helper tags.

Next, we call the constructor method from the parent PHP class:

parent::__construct();

This will trigger a lot of actions from PrestaShop that you do not need to know about at this point. Calling the parent constuctor method must be done after the creation of the $this->name variable and before any use of the $this->l() translation method.

The next section deals with text strings, which are encapsulated in PrestaShop's translation method, l():

$this->displayName = $this->l('My module');
$this->description = $this->l('Description of my module.');

$this->confirmUninstall = $this->l('Are you sure you want to uninstall?');

if (!Configuration::get('MYMODULE_NAME')) {
    $this->warning = $this->l('No name provided.'); 
}

These lines respectively assign:

  • A name for the module, which will be displayed in the back office's modules list.

  • A description for the module, which will be displayed in the back office's modules list.

  • A message, asking the administrator if he really does want to uninstall the module. To be used in the installation code.

  • A warning that the module doesn't have its MYMODULE_NAME database value set yet (this last point being specific to our example, as we will see later).

The constructor method is now complete. You are free to add more to it later if necessary, but this the bare minimum for a working module.

Now go to your back office, in the Modules page: the module is visible in the modules list, with its information displayed – and no icon for now.

You can install the module, but it does not do anything yet.

When you click on the "Install" button for your module, it will display a module window saying that your module is Untrusted.

The only way to make your module Trusted is to distribute it through the PrestaShop Addons marketplace (with a unique identifying key), or to become a PrestaShop partner. Other trusted modules are the native ones.

To install the module, click the "Proceed with installation" on this screen.

Building the install() and uninstall() methods

Some modules have more needs than just using PrestaShop's features in special ways. Your module might need to perform actions on installation, such as checking PrestaShop's settings or to registering its own settings in the database. Likewise, if you changed things in the database on installation, it is highly recommended to change them back (or remove them) when uninstalling the module.

The install() and uninstall() methods make it possible to control what happens when the store administrator installs or uninstalls the module. They must be included in the main class' block of code (in our example, the MyModule class) – at the same level as the constructor method.

The install() method

Here is the bare minimum for the install() method:

public function install()
{
  if (!parent::install()) {
    return false;
  }

  return true;
}

In this first and extremely simplistic incarnation, this method does the minimum needed: return true returned by the Module class' install() method, which returns either true if the module is correctly installed, or false otherwise. As it is, if we had not created that method, the superclass' method would have been called instead anyway, making the end result identical. Nevertheless, we must mention this method, because it will be very useful once we have to perform checks and actions during the module's installation process: creating SQL tables, copying files, creation configuration variables, etc.

So for example how you can expand the install() method to perform installation checks. In the following example, we perform the following tasks during installation:

  • Check that the Multistore feature is enabled, and if so, set the current context to all shops on this installation of PrestaShop.

  • Check that the module parent class is installed.

  • Check that the module can be attached to the leftColumn hook.

  • Check that the module can be attached to the header hook.

  • Create the MYMODULE_NAME configuration setting, setting its value to "my friend".

public function install()
{
  if (Shop::isFeatureActive()) {
    Shop::setContext(Shop::CONTEXT_ALL);
  }

  if (!parent::install() ||
    !$this->registerHook('leftColumn') ||
    !$this->registerHook('header') ||
    !Configuration::updateValue('MYMODULE_NAME', 'my friend')
  ) {
    return false;
  }

  return true;
}

If any of the lines in the testing block fails, the method returns false and the installation does not happen.

The uninstall() method

Here is the bare minimum for the uninstall() method:

public function uninstall()
{
  if (!parent::uninstall()) {
    return false;
  }
  
  return true;
}

Building on this foundation, we want an uninstall() method that would delete the data added to the database during the installation ( MYMODULE_NAME configuration setting). This method would look like this:

public function uninstall()
{
  if (!parent::uninstall() ||
    !Configuration::deleteByName('MYMODULE_NAME')
  ) {
    return false;
  }

  return true;
}

The Configuration object

As you can see, our three blocks of code (__construct(), install() and uninstall()) all make use of a new object, Configuration.

This is a PrestaShop-specific object, built to help developers manage their module settings. It stores these settings in PrestaShop's database without require to use SQL queries. Specifically, this object handles data from the ps_configuration database table.

The main methods

So far, we've used three methods, to which we'll add a fourth one in the list below:

  • Configuration::get('myVariable'): retrieves a specific value from the database.

  • Configuration::getMultiple(array('myFirstVariable', 'mySecondVariable', 'myThirdVariable')): retrieves several values from the database, and returns a PHP array.

  • Configuration::updateValue('myVariable', $value): updates an existing database variable with a new value. If the variable does not yet exist, it creates it with that value.

  • Configuration::deleteByName('myVariable'): deletes the database variable.

There are many more, such as getInt() or hasContext(), but these four are the ones you will use the most.

Note that when using updateValue(), the content of $value can be anything, be it a string, a number, a serialized PHP array or a JSON object. As long as you properly code the data handling function, anything goes. For instance, here is how to handle a PHP array using the Configuration object:

// Storing a serialized array.
Configuration::updateValue('MYMODULE_SETTINGS', serialize(array(true, true, false)));

// Retrieving the array.
$configuration_array = unserialize(Configuration::get('MYMODULE_SETTINGS'));

As you can see, this in a very useful and easy-to-use object, and you will certainly use it in many situations. Most native modules use it too for their own settings.

Multistore

By default, all these methods work within the confines of the current store context, whether PrestaShop is using the multistore feature or not.

However, it is possible to work outside of the current context and impact other known stores. This is done using three optional parameters, which are not presented in the list above:

  • id_lang: enables you to force the language with which you want to work.

  • id_shop_group: enables you to indicate the shop group of the target store.

  • id_shop: enables you to indicate the id of the target store.

By default, these three parameters use the values of the current context, but you can use them to target other stores.

Note that it is not recommended to change the default values of these variables, even more so if the module you are writing is to be used on other stores than your own. They should only be used if the module is for your own store, and you know the id and shop group of all of your shops.

Retrieving external values from the ps_configuration data table

You are not limited to your own variables: PrestaShop stores all its own configuration settings in the ps_configuration table. There are literally hundreds of settings, and you can access them just as easily as you would access your own. For instance:

  • Configuration::get('PS_LANG_DEFAULT'): retrieves the ID for the default language.

  • Configuration::get('PS_DISTANCE_UNIT'): retrieves the default distance unit ("km" for kilometers, etc.).

  • Configuration::get('PS_SHOP_EMAIL'): retrieves the main contact e-mail address.

  • Configuration::get('PS_NB_DAYS_NEW_PRODUCT'): retrieves the number of days during which a newly-added product is considered "New" by PrestaShop.

Dive into the ps_configuration table in order to discover many other settings!

The Shop object

Another of install()'s lines is thus:

if (Shop::isFeatureActive()) {
  Shop::setContext(Shop::CONTEXT_ALL);
}

As said earlier, here we check that the Multistore feature is enabled, and if so, set the current context to all shops on this installation of PrestaShop.

The Shop object helps you manage the multistore feature. We will not dive in the specifics here, but will simply present the two methods that are used in this sample code:

  • Shop::isFeatureActive(): This simply checks whether the multistore feature is active or not, and if at least two stores are presently activated.

  • Shop::setContext(Shop::CONTEXT_ALL): This changes the context in order to apply coming changes to all existing stores instead of only the current store.

The Context is explained in more details in the "Using the Context Object" chapter of this Developer Guide.

The icon file

To put the finishing touch to this basic module, you should add an icon, which will be displayed next to the module's name in the back office modules list. In case your module is made for a prominent service, having that service's logo visible brings trust. Make sure you do not use a logo already used by one of the native modules, or without authorization from the owner of the logo/service.

The icon file must respect these requirements:

  • It must be placed on the module's main folder.

  • 32*32 PNG image.

  • Named logo.png.

Installing the module

Now that all basics are in place, reload the back office's "Modules" pages, in the "Front office features" section, you should find your module. Install it (or reset it if it is already installed).

During the module's installation, PrestaShop automatically creates a small config.xml file in the module's folder, which stores the configuration information. You should be very careful when editing by hand.

PrestaShop also adds a row to the ps_module SQL table during the module installation:

As Wikipedia puts it, "Coding conventions are a set of guidelines for a specific programming language that recommend programming style, practices and methods for each aspect of a piece program written in this language", and "Good procedures, good methodology and good coding standards can be used to drive a project such that the quality is maximized and the overall development time and development and maintenance cost is minimized." (See ).

PrestaShop's own standards is available at this page: . You should read it in order to make sure that the code you produce fits correctly with the overall code of the PrestaShop project. The PHPCodeSniffer can help you make sure you follow the standard properly.

That class must bear the same name as the module and its folder, in CamelCase (see ). In our example: MyModule. Furthermore, that class must extend the Module class, in order to inherit all its methods and attributes.mymodule.php

Configuration::get('PS_TIMEZONE'): retrieves the name of the current timezone, in standard TZ format (see: ).

Tip: There are many free 32*32 icon libraries available. Here are a few: (very close to the FamFamFam one) or (Danish Royalty Free),

http://en.wikipedia.org/wiki/Coding_conventions
http://doc.prestashop.com/display/PS16/Coding+Standards
http://en.wikipedia.org/wiki/CamelCase
http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
http://www.fatcow.com/free-icons
http://www.iconarchive.com/show/danish-royalty-free-icons-by-jonas-rask.html
File structure for a PrestaShop module
The PrestaShop coding convention
Creating a first module
The constant test
The main class
The constructor method
Building the install() and uninstall() methods
The install() method
The uninstall() method
The Configuration object
The main methods
Retrieving external values from the ps_configuration data table
The Shop object
The icon file
Installing the module