Avete mai provato a modificare l’etichetta di una relazione?!
Un bug che affligge molte versioni di SuiteCRM e non permette di visualizzare l’etichetta aggiornata. Una piccola modifica può aiutare ad arginare il problema.
La modifica proposta non è upgrade safe, modifica il core del crm e potrebbe essere sovrascritta da eventuali aggiornamenti a SuiteCRM.
Questo intervento prevede anche la cancellazione manuale di files dalla cartella dove è installato il CRM. Prima di cominciare consigliamo quindi di effettuare un backup di SuiteCRM.
Nel file
include/SugarObjects/LanguageManager.php
cercare il metodo: refreshLanguage
Dovreste trovare un pezzo di codice come mostrato sotto
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public static function refreshLanguage($module, $lang, $loaded_mod_strings = array(), $additional_search_paths = null) { // Some of the vardefs do not correctly define dictionary as global. Declare it first. $lang_paths = array( 'modules/'.$module.'/language/'.$lang.'.lang.php', 'modules/'.$module.'/language/'.$lang.'.lang.override.php', 'custom/modules/'.$module.'/language/'.$lang.'.lang.php', 'custom/modules/'.$module.'/Ext/Language/'.$lang.'.lang.ext.php', ); ... ... |
L’operazione da fare è di invertire gli ultimi due elementi dell’array $lang_paths.
Otterrete quindi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public static function refreshLanguage($module, $lang, $loaded_mod_strings = array(), $additional_search_paths = null) { // Some of the vardefs do not correctly define dictionary as global. Declare it first. $lang_paths = array( 'modules/'.$module.'/language/'.$lang.'.lang.php', 'modules/'.$module.'/language/'.$lang.'.lang.override.php', //LABEL RELATIONSHIP BUG 'custom/modules/'.$module.'/Ext/Language/'.$lang.'.lang.ext.php', 'custom/modules/'.$module.'/language/'.$lang.'.lang.php', //LABEL RELATIONSHIP BUG: END ); ... ... |
Per poter vedere i risultati di questa modifica non sarà sufficiente il solito “ripara e ricostruisci”. E’ necessario svuotare manualmente tutto il contenuto della cartella cache del CRM. Questa è una operazione che può essere effettuata tramite un accesso ai sorgenti della installazione del CRM (FTP, SSH, etc.)