19 Mar 20:24
Creation de nouvelles balises spip 1.8.2.g
From: patrice puault <ppuault <at> club-internet.fr>
Subject: Creation de nouvelles balises spip 1.8.2.g
Newsgroups: gmane.comp.web.spip.user
Date: 2006-03-19 19:25:24 GMT
Subject: Creation de nouvelles balises spip 1.8.2.g
Newsgroups: gmane.comp.web.spip.user
Date: 2006-03-19 19:25:24 GMT
Bonsoir,
Pour ceux qui seraient interressés de créer leurs propres balises, méthode
qui fonctionne après de nombreux tests.
Merci à Marc VALLETEAU de MOULLIAC qui m'a aiguillé.
1) Ajouter à la base de données une table spip_nom de votre table avec une
commande SQL Create ou en utilisant phpmyadmin (j'ai utilisé la seconde
méthode).
2) Créer un fichier mes_fonctions .php3 à la racine de votre site
3) Insérer les commandes suivantes
<?php
include ('ecrire/inc_serialbase.php3');
global $tables_principales;
global $table_primary; // A rajouter,
provient de inc-compilo_api.php3
global $table_des_tables; // A rajouter, provient
de inc-compilo_api.php3
$table_primary['qcm']="id_qcm"; //provient des modèles de
inc-compilo_api.php3
$table_des_tables['qcm']='qcm'; //provient des modèles de
inc-compilo_api.php3
// Si les lignes ci-dessus ne sont pas rajoutées, erreur Mysql SELECT qcm.
FROM spip_qcm AS qcm
// You have an error in your SQL syntax ; ...
$tables_principales['spip_qcm']= array(
'field'=>array(
"id_qcm" => "BIGINT( 21 ) NOT NULL AUTO_INCREMENT ",
"question" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL
DEFAULT NULL" ,
"reponse1" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL
DEFAULT NULL" ,
"reponse2" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL
DEFAULT NULL" ,
"reponse3" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL
DEFAULT NULL" ,
"reponse4" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL
DEFAULT NULL" ,
"etat1" => "TINYINT( 1 ) NOT NULL DEFAULT '1'",
"etat2" => "TINYINT( 1 ) NOT NULL DEFAULT '0'",
"etat3" => "TINYINT( 1 ) NOT NULL DEFAULT '0'",
"etat4" => "TINYINT( 1 ) NOT NULL DEFAULT '0'",
"image1" => "BINARY( 1 ) NULL DEFAULT '0'",
"image2" => "BINARY( 1 ) NULL DEFAULT '0'",
"image3" => "BINARY( 1 ) NULL DEFAULT '0'",
"image4" => "BINARY( 1 ) NULL DEFAULT '0'",
"imagequest" => "BINARY( 1 ) NULL DEFAULT '0'",
"commentaire1" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci
NULL DEFAULT NULL" ,
"commentaire2" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci
NULL DEFAULT NULL" ,
"commentaire3" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci
NULL DEFAULT NULL" ,
"commentaire4" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci
NULL DEFAULT NULL" ,
"centre" => "ENUM( 'CSM', 'JPT', 'Vouzeron', 'autre' ) CHARACTER SET
latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT 'CSM'"
),
'key' => array("PRIMARY KEY" => "id_qcm")
);
//---------------- Requête de base pour cette
table -----------------------------
function boucle_QCM($id_boucle, &$boucles) {
$boucle = &$boucles[$id_boucle];
$id_table = $boucle->id_table;
$boucle->from[] = "spip_qcm AS $id_table";
return calculer_boucle($id_boucle, $boucles);
}
?>
) Vous pouvez alors créer des boucles du style :
<BOUCLE_TEST(QCM)>
Question : #QUESTION
Item1 : #REPONSE1
Item2 : #REPONSE2
Item3 : #REPONSE3
Item4 : #REPONSE4
</BOUCLE_TEST>
Cordialement à tous les SPIPEUR(EUSE)s
Bonsoir,
Pour ceux qui seraient interressés de créer leurs propres balises, méthode
qui fonctionne après de nombreux tests.
Merci à Marc VALLETEAU de MOULLIAC qui m'a aiguillé.
1) Ajouter à la base de données une table spip_nom de votre table avec une
commande SQL Create ou en utilisant phpmyadmin (j'ai utilisé la seconde
méthode).
2) Créer un fichier mes_fonctions .php3 à la racine de votre site
3) Insérer les commandes suivantes
<?php
include ('ecrire/inc_serialbase.php3');
global $tables_principales;
global $table_primary; // A rajouter,
provient de inc-compilo_api.php3
global $table_des_tables; // A rajouter, provient
de inc-compilo_api.php3
$table_primary['qcm']="id_qcm"; //provient des modèles de
inc-compilo_api.php3
$table_des_tables['qcm']='qcm'; //provient des modèles de
inc-compilo_api.php3
// Si les lignes ci-dessus ne sont pas rajoutées, erreur Mysql SELECT qcm.
FROM spip_qcm AS qcm
// You have an error in your SQL syntax ; ...
$tables_principales['spip_qcm']= array(
'field'=>array(
"id_qcm" => "BIGINT( 21 ) NOT NULL AUTO_INCREMENT ",
"question" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL
DEFAULT NULL" ,
"reponse1" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL
DEFAULT NULL" ,
"reponse2" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL
DEFAULT NULL" ,
"reponse3" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL
DEFAULT NULL" ,
"reponse4" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL
DEFAULT NULL" ,
"etat1" => "TINYINT( 1 ) NOT NULL DEFAULT '1'",
"etat2" => "TINYINT( 1 ) NOT NULL DEFAULT '0'",
"etat3" => "TINYINT( 1 ) NOT NULL DEFAULT '0'",
"etat4" => "TINYINT( 1 ) NOT NULL DEFAULT '0'",
"image1" => "BINARY( 1 ) NULL DEFAULT '0'",
"image2" => "BINARY( 1 ) NULL DEFAULT '0'",
"image3" => "BINARY( 1 ) NULL DEFAULT '0'",
"image4" => "BINARY( 1 ) NULL DEFAULT '0'",
"imagequest" => "BINARY( 1 ) NULL DEFAULT '0'",
"commentaire1" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci
NULL DEFAULT NULL" ,
"commentaire2" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci
NULL DEFAULT NULL" ,
"commentaire3" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci
NULL DEFAULT NULL" ,
"commentaire4" => "TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci
NULL DEFAULT NULL" ,
"centre" => "ENUM( 'CSM', 'JPT', 'Vouzeron', 'autre' ) CHARACTER SET
latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT 'CSM'"
),
'key' => array("PRIMARY KEY" => "id_qcm")
);
//---------------- Requête de base pour cette
table -----------------------------
function boucle_QCM($id_boucle, &$boucles) {
$boucle = &$boucles[$id_boucle];
$id_table = $boucle->id_table;
$boucle->from[] = "spip_qcm AS $id_table";
return calculer_boucle($id_boucle, $boucles);
}
?>
) Vous pouvez alors créer des boucles du style :
<BOUCLE_TEST(QCM)>
Question : #QUESTION
Item1 : #REPONSE1
Item2 : #REPONSE2
Item3 : #REPONSE3
Item4 : #REPONSE4
</BOUCLE_TEST>
Cordialement à tous les SPIPEUR(EUSE)s
RSS Feed