@@ -23,6 +23,80 @@ Per tabelle non presenti all'interno della lista ufficiale di OpenSTAManager (fi
2323 - ` updated_at timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP `
2424 - ` created_at timestamp NULL DEFAULT CURRENT_TIMESTAMP `
2525
26+
27+ ### Aggiunta modulo
28+ Con l'introduzione delle traduzioni, in fase di aggiunta di nuovi moduli, è necessario definire le traduzioni per le due lingue disponibili.
29+
30+ Note:
31+ - id: viene incrementato automaticamente, non valorizzare
32+ - created_at e updated_at: si valorizzano automaticamente (se la tabella è in tables.php)
33+ - LAST_INSERT_ID() funziona solo per inserimenti singoli, per inserimenti multipli usare SELECT MAX(` id ` )
34+
35+ Questo è un esempio di query per l'aggiunta di un modulo:
36+
37+ ``` sql
38+ -- Creazione tabella
39+ CREATE TABLE `NOME_TABELLA_MODULO ` (
40+ ` id` int NOT NULL AUTO_INCREMENT,
41+ ` name` varchar (255 ) NOT NULL ,
42+ PRIMARY KEY (` id` )
43+ ) ENGINE= InnoDB;
44+ -- Aggiungere il nome della nuova tabella al file update/tables.php per i campi updated_at e created_at
45+
46+ -- Aggiunta modulo
47+ INSERT INTO ` zz_modules` (` name` , ` directory` , ` options` , ` options2` , ` icon` , ` version` , ` compatibility` , ` order` , ` parent` , ` default` , ` enabled` , ` use_notes` , ` use_checklists` ) VALUES
48+ (' NOME MODULO' , ' CARTELLA_MODULO' , ' SELECT |select| FROM `NOME_TABELLA` WHERE 1=1 HAVING 2=2' , ' ' , ' fa fa-angle-right' , ' 2.9' , ' 2.9' , 1 , (SELECT ` id` FROM ` zz_modules` AS ` t` WHERE ` name` = ' MODULO PARENT' ), 1 , 1 , 0 , 0 );
49+
50+ INSERT INTO ` zz_modules_lang` (` id_lang` , ` id_record` , ` title` ) VALUES
51+ (1 , (SELECT MAX (` id` ) FROM ` zz_modules` ), ' TITOLO MODULO ITALIANO' ),
52+ (2 , (SELECT MAX (` id` ) FROM ` zz_modules` ), ' TITOLO MODULO INGLESE' );
53+ ```
54+
55+
56+ ### Aggiunta vista
57+
58+ Questo è un esempio di query per l'aggiunta di una vista:
59+
60+ ``` sql
61+ INSERT INTO ` zz_views` (` id_module` , ` name` , ` query` , ` order` , ` visible` ) VALUES
62+ ((SELECT ` id` FROM ` zz_modules` WHERE ` name` = ' NOME MODULO' ), ' id' , ' `NOME_TABELLA`.`id`' , 1 , 0 ),
63+ ((SELECT ` id` FROM ` zz_modules` WHERE ` name` = ' NOME MODULO' ), ' Nome' , ' `NOME_TABELLA`.`name`' , 2 , 1 );
64+
65+ INSERT INTO ` zz_views_lang` (` id_lang` , ` id_record` , ` title` ) VALUES
66+ (1 , (SELECT MAX (` id` )- 1 FROM ` zz_views` ), ' id' ),
67+ (2 , (SELECT MAX (` id` )- 1 FROM ` zz_views` ), ' id' ),
68+ (1 , (SELECT MAX (` id` ) FROM ` zz_views` ), ' Nome' ),
69+ (2 , (SELECT MAX (` id` ) FROM ` zz_views` ), ' Name' );
70+ ```
71+
72+
73+ ### Aggiunta plugin
74+
75+ Questo è un esempio di query per l'aggiunta di un plugin:
76+
77+ ``` sql
78+ INSERT INTO ` zz_plugins` (` name` , ` idmodule_from` , ` idmodule_to` , ` position` , ` script` , ` enabled` , ` default` , ` order` , ` compatibility` , ` version` , ` options` , ` directory` , ` help` ) VALUES
79+ (' NOME PLUGIN' , (SELECT ` id` FROM ` zz_modules` WHERE ` name` = ' MODULO INIZIALE' ), (SELECT ` id` FROM ` zz_modules` WHERE ` name` = ' MODULO FINALE' ), ' tab' , ' ' , 1 , 1 , 0 , ' 2.*' , ' 2.9' , ' custom' , ' CARTELLA_PLUGIN' , ' ' );
80+
81+ INSERT INTO ` zz_plugins_lang` (` id_lang` , ` id_record` , ` name` , ` title` ) VALUES
82+ (1 , (SELECT MAX (` id` ) FROM ` zz_plugins` ), ' NOME PLUGIN' , ' TITOLO PLUGIN ITALIANO' ),
83+ (2 , (SELECT MAX (` id` ) FROM ` zz_plugins` ), ' NOME PLUGIN' , ' TITOLO PLUGIN INGLESE' );
84+ ```
85+
86+
87+ ### Aggiunta impostazione
88+
89+ Questo è un esempio di query per l'aggiunta di un'impostazione:
90+
91+ ``` sql
92+ INSERT INTO ` zz_settings` (` nome` , ` valore` , ` tipo` , ` editable` , ` sezione` ) VALUES
93+ (' NOME IMPOSTAZIONE' , ' ' , ' TIPO IMPOSTAZIONE' , 1 , ' SEZIONE' );
94+
95+ INSERT INTO ` zz_settings_lang` (` id_lang` , ` id_record` , ` title` , ` help` ) VALUES
96+ (1 , (SELECT MAX (` id` ) FROM ` zz_settings` ), ' TITOLO IMPOSTAZIONE ITALIANO' , ' ' ),
97+ (2 , (SELECT MAX (` id` ) FROM ` zz_settings` ), ' TITOLO IMPOSTAZIONE INGLESE' , ' ' );
98+ ```
99+
26100## Note
27101
28102Malgrado una buona parte del codice ufficiale non segua completamente queste buone pratiche, è consigliato l'implementazione di queste linee guida per nuove funzioni e strutture mentre il sistema di base viene lentamente standardizzato.
0 commit comments