[HowTo] TYPO3. Build an extension from Scratch



Documents pareils
OUTIL DE TRAVAIL COLLABORATIF

Déploiement d application Silverlight

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

MODE D'EMPLOI DU CONTRIBUTEUR WEB UAPV "CONTRIBUER DANS UNE RUBRIQUE DU SITE WEB"

Futuristic Template Building (FTB1 FR)

Service d'authentification LDAP et SSO avec CAS

S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction , Frédéric Peschanski

Recommandations pour le futur CMS de l'epfl

Tutoriel TYPO3 pour les rédacteurs

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

Préface des auteurs 17. Àpropos decelivre 19. Introduction 21

Nouveautés de Drupal 8. Léon

Programme CREATION SITE INTERNET (CMS Wordpress)

Gestion de contenu d un site web avec TYPO3 Manuel de l administrateur

Air Transat. Contexte. Buts. Défis. Solution. Industry Travelling, Transport

SYSTÈMES D INFORMATIONS

Guide d'utilisation. Mendeley

Livre Blanc WebSphere Transcoding Publisher

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Stockage du fichier dans une table mysql:

Présentation des PowerToy pour Windows XP

Joomla! Création et administration d'un site web - Version numérique

BIRT (Business Intelligence and Reporting Tools)

Quel CMS choisir pour son site web?

SOMMAIRE 1 INTRODUCTION 3 2 CONTACTER VOTRE SUPPORT 3 3 ESPACE DE GESTION DES CARTES 4 4 CONFIGURER UNE CARTE 5

Tutoriel QSOS. Version /02/2013

Générer du code à partir d une description de haut niveau

Refonte des sites internet du SIEDS

Connexions à un projet CVS via Eclipse en accès local et distant. 15 Mai 2007

WordPress : principes et fonctionnement

Administration du site (Back Office)

TYPO3, le CMS de référence

mailpro mode d'emploi

Cursus 2013 Déployer un Content Management System

ECLIPSE ET PDT (Php development tools)

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Construction d un Site Internet Dynamique avec Joomla René-Yves Hervé, Ph.D.

Création d une application Android (APPInventor)

Initiation à Mendeley AUT2012

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

Nuxeo 5.4 : les nouveautés

Construire des plug-ins pour SAS Management Console SAS 9.1

Solutions Dell Networking pour le Big Data. Philippe MARTIN Networking Sales Specialist - p_martin@dell.com

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Choix du Logiciel WORDPRESS

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Gestion des références bibliographiques. Comment simplifier la gestion des références bibliographiques?

WINDOWS SHAREPOINT SERVICES 2007

Mendeley, pour gérer sa bibliographie et la partager. Patricia Volland-Nail

(Version 1.3) Création de site Internet avec Joomla!

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Créer un rapport pour Reporting Services

Utiliser les infopages

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Création et Gestion des tables

Reporting Services - Administration

Manuel d utilisation Mailchimp

Initiation au logiciel de gestion bibliographique Zotero

Nouveautés joomla 3 1/14

WebSpy Analyzer Giga 2.1 Guide de démarrage

Création d un formulaire de contact Procédure

PROGRAMMES FORMATIONS INTERNET

Documentation module hosting

Créer sa première base de données Access Partie 4/4 - Création d un état

Démarrer rapidement un site avec Drupal 7

Manuel d utilisation du site web de l ONRN

Configuration de Zabbix

Intégration xhtml/css avec E-Majine. 6 juillet 2008 (mise à jour février 2009)

Content Management System V.3.0. BlackOffice CMS V3.0 by ultranoir 1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel

Informatique : Création de site Web Master 2 ANI TP 1

empreinte.com WebTV WEBTV solution solution EMPREINTE.COM WebTV depuis 1997 Diffusion vidéo universelle EMPREINTE.COM

TechSoftware Présentations

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Devis pour la création de votre site Internet

Guide utilisateur : Directmail et newsletter

Créer sa première base de données Access Partie 3/4 - Création d un formulaire

Créer une base de données vidéo sans programmation (avec Drupal)

e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365

Manuel d'utilisation d'apimail V3

1. Installation du Module

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Dans la série Les tutoriels libres présentés par le site FRAMASOFT. AGORA-Projet. système de partage d'information et de travail collaboratif

Gestion du parc informatique des collèges du département du Cher. Manuel d utilisation de la solution de gestion de Parc

Créer et gérer des catégories sur votre site Magento

MEDIAplus elearning. version 6.6

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Gérer les règles de prix catalogue sur Magento

CMS Open Source : état de l'art et méthodologie de choix

4. Personnalisation du site web de la conférence

Découvrir le CMS. et l utiliser dans une approche pro!

Un site web collaboratif avec Drupal. Judith Hannoun - Journées INSHS 16 Octobre 2012

Guide de recherche documentaire à l usage des doctorants. Partie 1 : Exploiter les bases de données académiques

Plate-forme de travail collaboratif Agorazimut

Guide d'installation et de configuration du module

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Guide de démarrage Tradedoubler. Manuel éditeur / affilié

Troisième projet Scribus

Transcription:

[HowTo] TYPO3 Build an extension from Scratch Abstract: Ce document va vous expliquer comment construire votre première extension et comment utiliser quelques outils et méthodes Typo3.

L extension que nous souhaitons créer: Permet de manipuler des éléments (type news) définis par: Un titre Une description courte Une description longue Ces éléments doivent être créé dans le backend Typo3 L extension doit être configurable pour permettre de régler l affichage: Le nombre d éléments affichés Le type d affichage en mode liste: uniquement les titres, ou titres et descriptions courtes En mode liste, le titre est un lien href permettant d avoir une vue complète de l élément

1Kickstarter: backbone create the extension

La création d une extension se fait en utilisation le Kickstarter:

Le Kickstarter lance alors un Wizard, qu il suffit de suivre: La première étape est de remplir l'extension key. Cette key est utilisée par le TER pour identifier l'extension, elle est donc unique.

Remplir ensuite le champ General Info. Ces informations sont uniquement informative

Notre extension a besoin de tables spécifiques, c est à cet endroit que nous allons définir la configuration de la BDD Définit le comportement des entrées en BDD

Suite de la configuration de la base de données. On définit maintenant les champs nécessaires.

Les trois champs nécessaires (title / short_desc / long_desc) sont créés)

Quand les trois champs sont créés on peut remonter dans la configuration de la base de données pour régler l affichage des élements.

Notre extension doit être un plugin Frontend, nous allons maintenant définir son comportement: Nom sous lequel l'extension apparaît pour le contributeur Permet d'ajouter le plugin dans le wizard de contribution

La configuration de l extension est complète. Il faut alors faire «View Result» «View Result» permet de voir ce que Typo3 va faire, puis de créer l'extension

La demande de création de l extension doit être validée. Cette précaution est nécessaire: le Kickstarter n est pas un éditeur. Si vous faîtes une modification sur une extension, il va *forcement* écraser l existant.

Si tout se passe correctement l installation est prête à être installée:

Le process d install est alors classique. Le Kickstarter va créer les tables nécessaires

L extension est maintenant correctement installée:

2The new extension discovery

Utiliser la nouvelle extension Pour commencer, nous allons utiliser le plugin sur une page, pour vérifier son bon fonctionnement:

La configuration par défaut du plugin est la suivante:

Notre extension possède des éléments en base de données. Nous allons créer ces éléments dans le Storage Folder:

L élément possède les paramètres spécifiés lors de la création de l extension (modifiables avec le $TCA) Les paramètres sont ceux définis dans le kickstarter lors de la création de l'extension: un titre, une description courte (rte) et une description longue (rte)

Le Storage Folder contient alors les nouveaux élements créés (visibles en mode «list»)

Au niveau du frontend, le résultat est visible de la façon suivante: Le kickstarter insert un morceau de code «type» permettant de servir de point de départ.

L extension contient donc déjà un ensemble de fichier et est déjà opérationnelle: PI1: contient l'ensemble des fichiers et traitements pour le frontend Configuration de l'extension. Tca.php determine le comportement des elements de la BDD définis pour l'extension

3Inside The Code Nicolas Cerisier Cerisier@ece.fr

Comme nous venons de le voir, l extension affiche déjà des choses en frontend. Le fonctionnement du plugin PI1 se trouve dans class.tx_mydemo_pi1.php

La première chose que nous souhaitons faire est de modifier la configuration de l extension pour ajouter nos propres paramètres. Nous allons utiliser pour ça les flexforms en editant le fichier ext_tables.php Instanciation d'un fichier XML que nous allons utiliser pour configuer l'extension

La définition des paramètres se fait à travers un fichier xml (cf slide précédent) Définit un permet élément flexform «startingpoint» avec la gestion multilangue ainsi que le paramétrage de l'élément

Le résultat est le suivant dans le backend. Les textes ne sont pas présents, il faut pour cela compléter le fichier language_db.php

La définition des textes backend se fait dans le fichier language_db.php

Les paramètres remontent correctement dans l extension, avec des textes correctement paramétrés.

Nous allons maintenant modifier le plugin PI1 pour qu il utilise les flexforms et récupère correctement les paramètres

Au niveau Frontend, les paramètres remontent alors correctement dans un tableau $this->lconf Les clés du tableau correspondent aux clés du XML Nicolas Cerisier Cerisier@ece.fr

Maintenant que les paramètres remontent correctement nous pouvons coder le fonctionnement de l extension: Typo3 apport un ensemble de fonctions, qu'il est très recommandé d'utiliser pour le développement Nicolas Cerisier Cerisier@ece.fr

Le résultat de nos modifications dans le frontend:

Dans notre développement, le rendu HTML est codé directement. Ce qui limite fortement l évolutivité de notre plugin. Nous allons donc utiliser le moteur de templating de Typo3 Définition d'un fichier template Appel de la fonction pour afficher les éléments Gestion du template

Dans notre développement, le rendu HTML est codé directement. Ce qui limite fortement l évolutivité de notre plugin. Nous allons donc utiliser le moteur de templating de Typo3 Définition du marker (permet d'isoler un element du template parmis d'autres) Récupération du bloc Définition des variables et du contenu associé Traitement du template

Un fichier template est structuré de la façon suivante: Markers de début et de fin Tags de contenu

L affichage Frontend en utilisant le système de templating

Il reste encore à ajouter la vue détaillée d un élément Méthode typo3 pour obtenir les parametres $_GET

Le résultat de nos modifications dans le frontend: Listing des elements Le titre est posé avec un href passant en parametre l'uid (&ext=$uid) Vue détaillée de la news