Coding with SPIP 2.1
SPIP 2.1 Technical Documentation
en
es
fr
Search:
Search
Home
>
Site Map
Site Map
en
Notes about this documentation
Introduction
What is SPIP?
What can SPIP be used for?
Requirements and basic description
The templates (aka squelettes)
Quick overview
The templates
Loops
The syntax of loops
The complete syntax of loops
Nested loops
Recursive loops
Loops with missing tables
Tags
Tag syntax, the definitive version
The #ENV environment
The contents of loops (boucles)
Contents of parent loops
Predefined tags
Generic tags
Automatic tag processes
Interrupting the automatic tag processes
Useful tags to know
#AUTORISER
#CACHE
#CHEMIN
#DESCRIPTIF_SITE_SPIP
#EDIT
#ENV
#EVAL
#EXPOSE
#GET
#INCLURE
#INSERT_HEAD
#INSERT_HEAD_CSS
#INTRODUCTION
#LANG
#LANG_DIR
#LESAUTEURS
#MODELE
#NOTES
#REM
#SELF
#SESSION
#SESSION_SET
#SET
#VAL
Loops Criteria
Criteria syntax
Criteria shortcuts
Simple operators
The IN operator
The == operator
The "!" operator
Optional criteria
Optional criteria with operators
Tag filters
Filter syntax
Filters derived from PHP classes
Comparison filters
Search and replace filters
Test filters
Includes
Includes within the templates
Passing parameters to includes
Ajax
AJAX paginations
AJAX links
Linguistic elements
The syntax of language strings
Language files
Using the language codes
The complete syntax of language codes
Using language codes in PHP
Polyglots (multi tags)
Multilingualism
Multilingual possibilities
The environment’s language
The language of an object
Special language criteria
Forcing the language of the visitor’s choice
Choosing the navigation language
Forcing a change in the interface language
SQL joints between tables
Automatic joins
Explicit join declarations
Automating joins
Forcing joins
Accessing multiple databases
Declaring another database
Accessing a declared database
The "connect" URL parameter
Inclure with a connector parameter
Contents of the directories
The list of directories
config
extensions
IMG
lib
local
plugins
squelettes
squelettes-dist
tmp
ecrire
ecrire/action
ecrire/auth
ecrire/balise
ecrire/base
ecrire/charsets
ecrire/configuration
ecrire/exec
ecrire/genie
ecrire/inc
ecrire/install
ecrire/lang
ecrire/maj
ecrire/notifications
ecrire/plugins
ecrire/public
ecrire/req
ecrire/typographie
ecrire/urls
ecrire/xml
prive
prive/contenu
prive/editer
prive/exec
prive/formulaires
prive/images
prive/infos
prive/javascript
prive/modeles
prive/rss
prive/stats
prive/transmettre
prive/vignettes
Extending SPIP
Introduction
Templates or plug-ins?
Declaring options
Declaring new functions
The concept of path
Overriding a file
Overloading a _dist function
Some functions you should know
charger_fonction
find_all_in_path
find_in_path
include_spip
recuperer_fond
spip_log
trouver_table
_request
Pipelines
Definition
List of current pipelines
Declaring a new pipeline
Contextual pipelines
Pipeline details
rechercher_liste_des_champs
accueil_encours
accueil_gadget
accueil_informations
affichage_entetes_final
affichage_final
afficher_config_objet
afficher_contenu_objet
afficher_fiche_objet
afficher_nombre_objets_associes_a
affiche_droite
affiche_enfants
affiche_gauche
affiche_hierarchie
affiche_milieu
ajouter_boutons
ajouter_onglets
alertes_auteur
autoriser
base_admin_repair
body_prive
boite_infos
calculer_rubriques
compter_contributions_auteur
configurer_liste_metas
declarer_tables_auxiliaires
declarer_tables_interfaces
declarer_tables_objets_surnoms
declarer_tables_principales
declarer_url_objets
definir_session
delete_statistiques
delete_tables
editer_contenu_objet
formulaire_charger
formulaire_traiter
formulaire_verifier
header_prive
insert_head
insert_head_css
jquery_plugins
libelle_association_mots
lister_tables_noerase
lister_tables_noexport
lister_tables_noimport
objet_compte_enfants
optimiser_base_disparus
post_insertion
post_typo
pre_boucle
pre_insertion
pre_liens
pre_typo
rechercher_liste_des_jointures
recuperer_fond
rubrique_encours
styliser
taches_generales_cron
trig_supprimer_objets_lies
... and the rest of them
Tags
Dynamic tags
The balise_NAME_dist function
The balise_NAME_stat() function
The balise_NAME_dyn() function
Generic tags
Retrieving the object and id_object
Creating pages in the private zone
The contents of a (template) exec file
The contents of a (PHP) exec file
The information panel
Functionalities
Authorisations
The "autoriser" library
The #AUTORISER tag
Processes in the autoriser() function
Creating or overloading the authorisations
Secured actions
How secured actions work
Secured actions’ predefined functions
Action URLs in a template
Actions and processes
The contents of an action file
The verifications
The processes
Automatic redirections
editer_objet actions
Authentications
The contents of an auth file
The compiler
The syntax of the templates
Analysing a template
The assembly processes
Determining the cache
Parameters determining the name of the template
Determining the template file
A clean composition
The compilation
The cache
The template cache
The page cache
The SQL cache
The plugins cache
The path cache
The CSS and JavaScript caches
The image processing cache
Refreshing the cache
Configuring the cache
Periodic tasks (cron)
How cron jobs are run
Declaring a cron task
Forms
HTML structure
Displaying the form
Handling errors returned
Field separation using fieldset
Radio and checkbox fields
Explaining input fields
Conditional displays
PHP processing
Passing arguments to the CVT functions
Loading values into the forms
Authorise the display or hiding of a form
Other preloading options
Pipelines used for loading
Checking the submitted values
Executing the processes
Processing without AJAX
Examples
Translate anything
Calculating the day-of-the-year
SQL access
Modification of the SQL manager
Declaring table structures
Table updates and installation
The SQL API
Common elements
sql_allfetsel
sql_alltable
sql_alter
sql_count
sql_countsel
sql_create
sql_create_base
sql_create_view
sql_date_proche
sql_delete
sql_drop_table
sql_drop_view
sql_errno
sql_error
sql_explain
sql_fetch
sql_fetch_all
sql_fetsel
sql_free
sql_getfetsel
sql_get_charset
sql_get_select
sql_hex
sql_in
sql_insert
sql_insertq
sql_insertq_multi
sql_in_select
sql_listdbs
sql_multi
sql_optimize
sql_query
sql_quote
sql_repair
sql_replace
sql_replace_multi
sql_seek
sql_select
sql_selectdb
sql_serveur
sql_set_charset
sql_showbase
sql_showtable
sql_update
sql_updateq
sql_version
Creating your own plugins
The basic principle of plugins
The minimal plugin.xml
plugin.xml, other common attributes
Handling dependencies
Installing external libraries
Using pipelines
Defining buttons
Defining page tabs
Examples
Adding a type of glossary
Applying a default sort sequence to the loops
Consideration of new fields in table searches
Display an authoring form, if authorised
Modifying all of your templates in one hit
Glossary
AJAX
Argument
Cache files
Parameter
Pipeline
Recursion
Browsing
Notes about this documentation
Introduction
The templates
Contents of the directories
Extending SPIP
Functionalities
Forms
SQL access
Creating your own plugins
Examples
Glossary
Suggest an improvement!
Report an error…
Printed documentation !
To read at leisure...
|
Log in
|
Suggestions
|
Monitor
|
Site Map
|
Legal notices
|
RSS 2.0