Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Quando si importa una vista tramite file YAML, la sua traduzione non viene inclusa in automatico.

Pr 

Nel database del sito dove è stata fatta la traduzione della vista in questione, all'interno di "config" e Per avere anche la traduzione, serve importare il dato prendendolo dal database. Nel database, infatti, la traduzione è presente all'interno di due macro tabelle: config e config_snapshot. Per vedere il dato si può andare all'interno del database del sito con un client (ad esempio phpMyAdmin) e portarsi in "config" (e poi "config_snapshot", si trova la vista, sia in versione italiana, che inglese.Se la vista di chiama ). Da qui si cerca la vista (ad esempio "views.view.insegnamenti", si accede al database e si cerca) con il comando:

SELECT * FROM `config` WHERE name = 'views.view.insegnamenti'
SELECT * FROM `config_snapshot` WHERE name = 'views.view.insegnamenti'verranno fuori

Usciranno due risultati: uno in italiano , ed uno in inglese. Il contenuto del BLOB è il dato che ci interessa; il file in italiano è più grande rispetto a quello inglese, perchè quest'ultimo contiene solo le parti che sono state tradotte, mentre il primo l'intera vista.

Andiamo all'interno della root dell'Ateneo sul server e creiamo una nuova cartella, che chiamiamo ad esempio "myconf-views-translation". All'interno di questa cartella si creano i file che verranno importati. Si crea per prima cosa il file YAML prendendo il nome ed il contenuto dall'esportazione della vista da backoffice
admin/config/development/configuration/full/export
nell'esempio sarà views.view.insegnamenti.yml.
Quindi si crea il file SQL contenente la traduzione, che chiamiamo in questo caso ".Da questi due si creano due file SQL:
replace.insegnamenti.sql
replace.en.insegnamenti.sqlVediamo il primo". All'interno scriviamo:

REPLACE INTO config (collection, name, data) VALUES
('language.en', 'views.view.insegnamenti', 'a:1:{s:7:\"display\";a:12:{s:7:\"default\";a:1:{s:15:\"display_options\";a:4:{s:12:\"exposed_form\";a:1:{s:7:\"options\";a:2:{s:$[stringa da inserire]');

REPLACE INTO config_snapshot (collection, name, data) VALUES
('language.en', 'views.view.insegnamenti', '[stringa da inserire]')

Il contenuto da mettere al posto di [stringa da inserire] lo si ricava eseguendo i comandi:
drush10 @unimid9-la41.prod sqlq "select * from config where name like 'views.view.insegnamenti' and collection='language.en'"
drush10 @unimid9-la41.prod sqlq "select * from config_snapshot where name like 'views.view.insegnamenti' and collection='language.en'"

Il risultato sarà una stringa del tipo "a:1:{s:7:\"display\";a:12:{s:7:\"default\";a:1:{s:15:\"display_options\";a:4:{s:12:\"exposed_form\";a:1:{s:7:\"options\";a:2:{s:$..."

Fatto questo si esegue lo scritp