Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:modifications:german-dateformat [2014/01/02 18:11]
swarnat [vtigerCRM 6.0 RC]
en:modifications:german-dateformat [2016/11/21 14:49] (current)
swarnat
Line 1: Line 1:
 ====== deutsches Datumsformat ====== ====== deutsches Datumsformat ======
  
-Hallo,+===== vtigerCRM 6.0 =====
  
-Die erste Version meiner ​6.0 Anleitung hat leider mit dem Release Candidate jegliche Funktion eingestellt,​ weshalb ich hier eine erneute Version anbieten möchte, mit welcher man Version ​6.0 mit dem deutschem Datum betreiben kann.+**06.03.2014 UPDATE ** - Small missing line modification in last block 
 +**19.02.2016 UPDATE ** - Tested until VtigerCRM ​6.4.0 
 +**21.11.2016 UPDATE ** - Tested until VtigerCRM ​6.4.0
  
-Diese Anleitung ist nur für die neue Version 6.0 RC geeignetEine identische Anleitung für 5.3/5.4 findet Ihr hier: vTiger 5.3 / 5.4 auf deutsches Datumsformat dd.mm.yyyy umstellen+**After you have done this modifications,​ you need to clear your Browser cache!**
  
-Durch die komplett überarbeitete und deutlich komplexere Oberfläche wird dafür allerdings etwas mehr Aufwand notwendig als bisher. +==== 1. neuer Eintrag in die '​vtiger_date_format'​ Tabelle mit folgender Query: ​====
- +
-Los gehts: +
-===== vtigerCRM 6.0 RC ===== +
- +
-=== 1. neuer Eintrag in die '​vtiger_date_format'​ Tabelle mit folgender Query: ===+
  
 <code sql> <code sql>
Line 23: Line 20:
 Mit dem Wert in der 3. Spalte könnt Ihr die Sortierung der Datumsformate anpassen. Da ich möchte, dass er direkt an oberster Stelle steht, habe ich eine 0 eingesetzt. Mit dem Wert in der 3. Spalte könnt Ihr die Sortierung der Datumsformate anpassen. Da ich möchte, dass er direkt an oberster Stelle steht, habe ich eine 0 eingesetzt.
  
-=== 2. /​vtlib/​Vtiger/​Functions.php ===+==== 2. /​vtlib/​Vtiger/​Functions.php ​====
  
-File: /​vtlib/​Vtiger/​Functions.php +=== Function: currentUserJSDateFormat($localformat) ​===
-Function: currentUserJSDateFormat($localformat)+
 An die gut erkennbare if-Anweisung folgendes anhängen: An die gut erkennbare if-Anweisung folgendes anhängen:
  
Line 35: Line 31:
 </​code>​ </​code>​
  
-Function: currentUserDisplayDate($value)+=== Function: currentUserDisplayDate($value) ​===
  
 Innerhalb der Funktion finden: Innerhalb der Funktion finden:
Line 52: Line 48:
 </​code>​ </​code>​
  
-=== 3. /​include/​fields/​DateTimeField.php ===+==== 3. /​include/​fields/​DateTimeField.php ​====
  
-== Funktion : __convertToDBFormat(...) [Line ~95] ==+=== Funktion : __convertToDBFormat(...) [Line ~95] ===
 folgendes an passender Stelle einfügen: (If Abfragen sind gut erkennbar) folgendes an passender Stelle einfügen: (If Abfragen sind gut erkennbar)
  
Line 69: Line 65:
 An dieser Stelle wird leider ab und zu ein Format dd-mm-yyyy und die Einstellung des Users dd.mm.yyyy übergeben. Deshalb die zusätzlichen Zeilen, welche das nochmals prüfen. An dieser Stelle wird leider ab und zu ein Format dd-mm-yyyy und die Einstellung des Users dd.mm.yyyy übergeben. Deshalb die zusätzlichen Zeilen, welche das nochmals prüfen.
  
-== Funktion: __convertToUserFormat((...) [Line ~157] ==+=== Funktion: __convertToUserFormat((...) [Line ~157] ===
  
 folgendes an passender Stelle einfügen: (If Abfragen sind gut erkennbar) folgendes an passender Stelle einfügen: (If Abfragen sind gut erkennbar)
Line 79: Line 75:
 </​code>​ </​code>​
  
-== Funktion: ​ convertToUserFormat(...) [Line ~139] ==+=== Funktion: ​ convertToUserFormat(...) [Line ~139] ===
 An dieser Stelle wird das Standard-Format des Vtigers auf dd.mm.yyyy gesetzt. Diese Einstellung ist besonders für die Erweiterung PDFMaker relevant, da diese für Datumsausgaben in PDF's genutzt wird, welche aus einem Workflow genutzt werden. An dieser Stelle wird das Standard-Format des Vtigers auf dd.mm.yyyy gesetzt. Diese Einstellung ist besonders für die Erweiterung PDFMaker relevant, da diese für Datumsausgaben in PDF's genutzt wird, welche aus einem Workflow genutzt werden.
 Suchen: Suchen:
Line 95: Line 91:
 } }
 </​code>​ </​code>​
-== Funktion: ​ convertToDBFormat(...) [Line ~139] ==+=== Funktion: ​ convertToDBFormat(...) [Line ~139] ===
  
 Suchen: Suchen:
Line 112: Line 108:
 </​code>​ </​code>​
  
-=== 4. /​include/​ComboStrings.php ===+==== 4. /​include/​ComboStrings.php ​====
  
 Um Line 304 steht die Zuweisung Um Line 304 steht die Zuweisung
Line 132: Line 128:
 </​code>​ </​code>​
  
-=== 5. /​modules/​Calendar/​RepeatEvents.php ===+==== 5. /​modules/​Calendar/​RepeatEvents.php ​====
  
-== Function:​formattime ==+=== Function: formattime ​===
  
 Diesmal passend in die switch-Anweisung folgendes einfügen: Diesmal passend in die switch-Anweisung folgendes einfügen:
Line 141: Line 137:
 </​code>​ </​code>​
  
-=== /resources/app.js ===+==== 6. /​modules/​Vtiger/helpers/Util.php ====
  
-== Function: convertToDatePickerFormat(dateFormat) ==+Diese Anpassung ist nur dann notwendig, wenn Ihr auch die Ausgaben der Form "Wed, Dec 18, 2013 at 15:50" anpassen möchtet, sodass am Ende "Wed, 18. Dec 2013 at 15:50 Uhr" erscheint. 
 +Diese Ausgabe richtet sich mit dieser Anpassung besser an der Spracheinstellung des vtigerCRM aus. Die Wochentage bzw. Monatsnamen werden sicherlich noch übersetzt, genau wie das kleine "​at"​. 
 + 
 +== Function: formatDateTimeIntoDayString($dateTime) [~213] == 
 +Search: 
 +<code php> 
 +$formatedDate = vtranslate('​LBL_'​.date('​D',​ $date)). ', ' .vtranslate('​LBL_'​.date('​M',​ $date)). ' ' .date('​d',​ $date). ', ' .date('​Y',​ $date); 
 +//Adding time details 
 +$formatedDate .= ' ' .vtranslate('​LBL_AT'​). ' ' .$displayTime;​ 
 +</​code>​ 
 +Replace with: 
 +<code php> 
 +        if($currentUser->​get("​language"​) == "​de_de"​) { 
 +            $formatedDate = vtranslate('​LBL_'​.date('​D',​ $date)). ', ' .date('​d',​ $date). '. ' .vtranslate('​LBL_'​.date('​M',​ $date)). ' ' .date('​Y',​ $date); 
 +     //Adding time details 
 +     $formatedDate .= ' um ' .$displayTime. ' Uhr';​ 
 +        } else { 
 +            $formatedDate = vtranslate('​LBL_'​.date('​D',​ $date)). ', ' .vtranslate('​LBL_'​.date('​M',​ $date)). ' ' .date('​d',​ $date). ', ' .date('​Y',​ $date); 
 +     //Adding time details 
 +     $formatedDate .= ' ' .vtranslate('​LBL_AT'​). ' ' .$displayTime;​ 
 +        } 
 + 
 +</​code>​ 
 + 
 +==== 7. /​resources/​app.js ==== 
 + 
 +=== Function: convertToDatePickerFormat(dateFormat) ​===
  
 Auch hier ist die if-Anweisung wieder gut zu erkennen, welche durch folgendes erweitert werden muss: Auch hier ist die if-Anweisung wieder gut zu erkennen, welche durch folgendes erweitert werden muss:
Line 176: Line 198:
 </​code>  ​ </​code>  ​
  
-=== 6. /​layouts/​vlayout/​modules/​Vtiger/​resources/​dashboards/​Widgets.js ===+==== 8. /​layouts/​vlayout/​modules/​Vtiger/​resources/​dashboards/​Widget.js ====
  
-== Funktion convertToDateRangePicketFormat ==+=== Funktion convertToDateRangePicketFormat ​===
  
 Wieder an das Ende der if-Bedingung einfügen: Wieder an das Ende der if-Bedingung einfügen:
Line 187: Line 209:
 </​code>​ </​code>​
  
-=== 7. /​resources/​helper.js ===+==== 9. /​resources/​helper.js ​====
  
-== Function: getDateInstance : function(dateTime,​dateFormat) [~Zeile 53] ==+=== Function: getDateInstance : function(dateTime,​dateFormat) [~Zeile 53] ===
  
 Search: Search:
 <code js> <code js>
 var splittedDate = dateComponent.split("​-"​);​ var splittedDate = dateComponent.split("​-"​);​
 +var splittedDateFormat = dateFormat.split("​-"​);​
 </​code>​ </​code>​
 Replace with: Replace with:
Line 202: Line 225:
 } }
 var splittedDate = dateComponent.split(dotMode?"​.":"​-"​);​ var splittedDate = dateComponent.split(dotMode?"​.":"​-"​);​
 +var splittedDateFormat = dateFormat.split(dotMode?"​.":"​-"​);​
 </​code>​ </​code>​
-===== ALT ===== 
- 
- 
- 
-4. include/​js/​general.js 
- 
-4.1 Funktion: patternValidate(..) 
- 
-Diese Position überprüft eingegebene Datumsangaben und muss ebenfalls um dd.mm.yyyy erweitert werden. 
-Folgendes suchen: 
- 
-[php] 
-case "​mm-dd-yyyy"​ : 
-case "​dd-mm-yyyy"​ : 
-     var re = /​^\d{1,​2}(\-|\/​|\.)\d{1,​2}\1\d{4}$/​ 
-[/php] 
-und folgendermaßen ergänzen: 
- 
-[php] 
-case "​mm-dd-yyyy"​ : 
-case "​dd-mm-yyyy"​ : 
-case "​dd.mm.yyyy"​ : 
-     var re = /​^\d{1,​2}(\-|\/​|\.)\d{1,​2}\1\d{4}$/​ 
-[/php] 
-4.2 Funktion splitDateVal(...) 
-Folgendes suchen: 
- 
-[php] 
-case "​dd-mm-yyyy"​ : 
-     ​dateelements[0]=dateval.substring(0,​dateval.indexOf(datesep)) 
-     ​dateelements[1]=dateval.substring(dateval.indexOf(datesep)+1,​dateval.lastIndexOf(datesep)) 
-     ​dateelements[2]=dateval.substr(dateval.lastIndexOf(datesep)+1,​dateval.length) 
-[/php] 
-daraus folgendes machen (case "​dd.mm.yyyy"​ für "​dd-mm-yyyy"​ einfügen) 
- 
-[php] 
-case "​dd-mm-yyyy"​ : 
-case "​dd.mm.yyyy"​ : 
-     ​dateelements[0]=dateval.substring(0,​dateval.indexOf(datesep)) 
-     ​dateelements[1]=dateval.substring(dateval.indexOf(datesep)+1,​dateval.lastIndexOf(datesep)) 
-     ​dateelements[2]=dateval.substr(dateval.lastIndexOf(datesep)+1,​dateval.length) 
-[/php] 
-4.3 Funktion: re_patternValidate(...) [~LIne 4262] 
- 
-Suchen: 
- 
-[php] 
-                        case "​dd-mm-yyyy"​ : 
-                                var re = /​^\d{1,​2}(-)\d{1,​2}\1\d{4}$/​ 
-[/php] 
-Daraus folgendes machen: 
- 
-[php] 
-                        case "​dd-mm-yyyy"​ : 
-                        case "​dd.mm.yyyy"​ : 
-                                var re = /​^\d{1,​2}(\-|\/​|\.)\d{1,​2}\1\d{4}$/​ 
-[/php] 
-6. include/​js/​QuickCreate.js 
- 
-Suchen: 
- 
-var re = /​^\d{1,​2}(\-|\/​|\.)\d{1,​2}\1\d{4}$/​ 
- 
-In die dazugehörigen Case-Möglichkeiten einfügen: 
- 
-case "​dd.mm.yyyy"​ : 
- 
-7. modules/​Reports/​Reports.js 
- 
-7.1 Funktion re_patternValidate(..) 
- 
-Suche: 
- 
-[php] 
-case "​mm-dd-yyyy"​ : 
-case "​dd-mm-yyyy"​ : 
-<em id="​__mceDel"><​em id="​__mceDel"> ​    var re = /​^\d{1,​2}(-)\d{1,​2}\1\d{4}$/​ 
-<em id="​__mceDel"><​em id="​__mceDel"><​em id="​__mceDel"><​em id="​__mceDel">​[/​php] 
-Folgende Option als case hinzufügen:​ 
- 
-[php] 
-case "​dd.mm.yyyy"​ : 
-[/php] 
-8. vtiger6/​resources/​app.js 
- 
-8.1 Funktion convertToDatePickerFormat [Line ~320] 
- 
-An die Abfragen folgende Abfrage anhängen: 
- 
-[php] 
-else if (dateFormat == '​dd.mm.yyyy'​) { 
-return '​d.m.Y';​ 
- } 
-[/php] 
-8.2 Funktion convertTojQueryDatePickerFormat [Line ~333] 
- 
-Komplette Funktion mit folgenden Code ersetzen: 
  
-[php] 
-convertTojQueryDatePickerFormat:​ function(dateFormat){ 
- var i = 0; 
- ​if(dateFormat.indexOf("​."​) != -1) { 
-   var splitDateFormat = dateFormat.split('​.'​);​ 
-   var separator = "​.";​ 
- } else { 
-   var splitDateFormat = dateFormat.split('​-'​);​ 
-   var separator = "​-";​ 
- } 
- ​for(var i in splitDateFormat){ 
-   var sectionDate = splitDateFormat[i];​ 
-   var sectionCount = sectionDate.length;​ 
-   ​if(sectionCount == 4){ 
-     var strippedString = sectionDate.substring(0,​2);​ 
-     ​splitDateFormat[i] = strippedString;​ 
-   } 
- } 
- var joinedDateFormat = splitDateFormat.join(separator);​ 
- ​return joinedDateFormat;​ 
- }, 
-[/php] 
-Stefan