|
Concettualmente, la condivisione di informazioni tra installazioni distinte di Joomla! proposta in questa guida è estendibile a qualsiasi altro elemento, sia esso un modulo, un componente o un contenuto. A dimostrazione di quanto appena affermato si consideri il seguente esempio: USE altrojoomladb;
DROP TABLE jos_content; DROP TABLE jos_categories; DROP TABLE jos_sections;
USE joomladb;
CREATE OR REPLACE VIEW altrojoomladb.jos_content AS SELECT TRUNCATE((id+0.01)*100,0) AS id, title,title_alias, introtext, `fulltext`, state, TRUNCATE((sectionid+0.01)*100,0) AS sectionid, mask, TRUNCATE((catid+0.01)*100,0) AS catid, created, created_by, created_by_alias, modified, modified_by, checked_out, checked_out_time, publish_up, publish_down, images, urls, attribs, version, parentid, ordering, metakey, metadesc, access, hits FROM jos_content UNION SELECT TRUNCATE((id+0.02)*100,0) AS id, title, title_alias, introtext, `fulltext`, state, TRUNCATE((sectionid+0.02)*100,0) AS sectionid, mask, TRUNCATE((catid+0.02)*100,0) AS catid, created, created_by, created_by_alias, modified, modified_by, checked_out, checked_out_time, publish_up, publish_down, images, urls, attribs, version, parentid, ordering, metakey, metadesc, access, hits FROM jos2_content;
CREATE OR REPLACE VIEW altrojoomladb.jos_categories AS SELECT TRUNCATE((id+0.01)*100,0) AS id, parent_id, title, name, image, IF(section REGEXP '[[:digit:]]+', TRUNCATE((section+0.01)*100,0), section) AS section, image_position, description, published, checked_out, checked_out_time, editor, ordering, access, count, params FROM jos_categories UNION SELECT TRUNCATE((id+0.02)*100,0) AS id, parent_id, title, name, image, IF(section REGEXP '[[:digit:]]+', TRUNCATE((section+0.02)*100,0), section) AS section, image_position, description, published, checked_out, checked_out_time, editor, ordering, access, count, params FROM jos2_categories;
CREATE OR REPLACE VIEW altrojoomladb.jos_sections AS SELECT TRUNCATE((id+0.01)*100,0) AS id, title, name, image, scope, image_position, description, published, checked_out, checked_out_time, ordering, access, count, params FROM jos_sections UNION SELECT TRUNCATE((id+0.02)*100,0) AS id, title, name, image, scope, image_position, description, published, checked_out, checked_out_time, ordering, access, count, params FROM jos2_sections; Per cogliere completamente la logica di questo secondo esempio di condivisione, è sufficiente capire quali funzioni assolvano le tabelle considerate e quante installazioni di Joomla! siano in esso coinvolte. Le tabelle scelte, come indicano bene i nomi, consentono di gestire sezioni, categorie e contenuti di Joomla!; le installazioni coinvolte in questo caso, invece, sono tre, suddivise su due distinti database. Con questo secondo esempio si uniscono i contenuti provenienti da due distinte installazioni di Joomla! in una terza, al fine, ad esempio, di poter riunirli tutti in una sola Home Page. Aggrediamo la logica del codice SQL iniziando a delinerare gli scenari in cui si colloca ognuna delle installazioni: Parametri prima installazione di Joomla! Dominio
| http://www.miodominio.it/joomla1 | | Nome Database | joomladb | Prefisso tabelle
| jos_ |
Parametri seconda installazione di Joomla! Dominio
| http://www.miodominio.it/joomla2 | | Nome Database | altrojoomladb | Prefisso tabelle
| jos2_ |
Parametri terza installazione di Joomla! Dominio
| http://www.miodominio.it | | Nome Database | altrojoomladb | Prefisso tabelle
| jos_ |
|