Ich benutze SuiteCRM 7.4.3 und muss zwei Dateien (eine PHP-Datei und eine JS-Datei) in die gesamte Projekt-Instanz enthalten. Was sind die besten Praktiken in dieser Situation? Wo sollte ich die Quelldateien kopieren und wo schließe ich sie ein?Include PHP und JS Dateien in SuiteCRM
Antwort
SuiteCRM verwendet eine eigene TimeDate-Klasse, deren Aussehen Sie erweitern müssen, um Ihr eigenes (dieses JalaliDate) zu erstellen. Ehrlich gesagt, weiß ich nicht, wie Sie das implementieren könnten, ohne das Core SuiteCRM massiv zu beeinflussen.
Die Dateien, die Sie betrachten müssen, sind jedoch/TimeDate.php (das ist die Klasse, die die Suite für all ihre Zeitformatierung verwendet). Wir empfehlen immer, dass Sie versuchen, alles sicher zu machen, d. H. Alles befindet sich in einem benutzerdefinierten Ordner - aus dem Blickwinkel wird dies jedoch nicht sein.
Aber was ich normalerweise mache, wenn ich SDK anderer Anwendungen einschließe, lege ich es in custom/include/und dann, wann immer ich es brauche, verbinde ich es von dort.
Vielen Dank. Ich werde versuchen, in dem benutzerdefinierten Ordner zu arbeiten und Ihnen das Ergebnis mitzuteilen. –
Wenn Sie eine Javascript-Datei SuiteCRM verwenden müssen, können Sie eine benutzerdefinierte Ansicht erstellen, die die "Skript-Tags" ausspuckt.
class CustomModuleViewSomething extends ViewEdit
{
function display(){
$this->ev->process();
$scripts = array();
$scripts[] = '<script src="javascript1.js"></script>';
$scripts[] = '<script src="javascript2.js"></script>';
$scripts[] = '<script src="javascript3.js"></script>';
echo $this->ev->display($this->showTitle) . implode($scripts);
}
}
Ich habe einen Kern, der auf moment.js um hängt Daten in JS zu verarbeiten. Dies ist nützlich, wenn Sie Prozessdaten auf den clientseitigen Daten benötigen.
/**
* returns js Date() from a date that is in the users format
* @depends momentjs library
* @param datestr
* @returns {*|Date}
*/
function toDate(datestr) {
var $format = "", $splitformat = ["","",""], $dbformat = ["","",""];
// Get user preferences date format
$format = cal_date_format
$format = $format.toUpperCase();
$format = $format.replace('%D', 'DD')
$format = $format.replace('%M', 'MM')
$format = $format.replace('%Y', 'YYYY')
// return js date
return moment(datestr, $format).toDate()
}
Der bessere Weg Daten zu handhaben ist eine Aktion in einem customController zu erstellen:
class CustomModuleController extends SugarController {
function action_save() {
global $timedate;
$field = "date_entered";
$timedate->fromString($this->bean->$field);
$this->bean->save(!empty($this->bean->notify_on_save));
}
}
- 1. Arbeitet JS mit Include-Dateien?
- 2. PHP include() und require()
- 3. PHP-Include-Dateien mit Perioden in Dateinamen
- 4. PHP include (') und (")
- 5. php include .php und Html-Datei aus anderem Verzeichnis nicht CSS- und js
- 6. Design-Tipps für PHP-Funktion Include-Dateien
- 7. PHP Include-Dateien mit Parse-Fehler
- 8. Relate Felder und Beziehung in SuiteCRM
- 9. Konstanten und Include-Dateien in TSQL
- 10. Verwenden Sie die Laravel @ include-Direktive mit Nicht-PHP-Dateien?
- 11. ng-include Angular JS
- 12. php include und closing tag
- 13. Include Jquery Skript in .js Seite
- 14. Include JS-Dateien nur auf dem iPad (Ionic)
- 15. PHP-Namespace und Include() mit Klassen
- 16. PHP include isnt funktioniert
- 17. include/require einmal in php
- 18. Modal in PHP mit PHP include
- 19. abschaffen Include-Dateien in C++
- 20. PHP index.php Include-Datei
- 21. PHP: include \ erfordern Verhalten
- 22. Include-Dateien R?
- 23. PHP: Include-Funktion ist blockiert
- 24. Angular JS ng-Include Ausdruck
- 25. PHP include working, include header ist nicht
- 26. Include .css und .js Datei in Node.js Projekt
- 27. zurückgeben ein Include in PHP
- 28. PHP Include Trouble
- 29. Zwei Js Dateien in JQuery
- 30. Simulieren PHP Include ohne PHP
Was das Hinzufügen dieser Dateien der Grund wäre? Erweitern Sie die Funktionalität, d. H. Fügen Sie logic_hooks hinzu oder binden Sie einfach die JS in die gesamte SuiteCRM-Instanz ein? – MissAran
@MissAran Ich möchte diese [JalaliDate] (https://github.com/sallar/jDateTime) für persische Sprache verwenden. –
Verwenden Sie Composer für PHP und Bower/Npm für JS-Bibliothek. – k0pernikus