Frage

Ich bin in den Prozess der versucht, unser Unternehmen von Salesforce zu SugarCRM zu bewegen, aber ich habe in einen fiesen Fehler (der Moment, als ich hinzufügen, ein benutzerdefiniertes Feld auf Konten, alle Konten nicht mehr angezeigt werden nach oben) laufen. Wir haben für die Unterstützung der SugarCRM Menschen bezahlt, aber sie haben nur take-ewig-then-get-a-wertlos-Response-Ebene den technischen Support für die Open-Source-Version (und wir proprietäre Software wie die Pest vermeiden). Oh, und habe ich erwähnt, unser Salesforce Vertrag am Ende der Woche abläuft?

So lange Geschichte kurz, ich bin stecken Debuggen der SugarCRM selbst App. Ich bin ein erfahrener Programmierer anständig, und ich Baseline PHP Kompetenz habe, aber ich weiß nicht einmal, wo versucht wird, dieses Problem zu lösen. Kann keine Zucker Entwickler gibt jede Art von Prozess empfehlen Zucker für das Debuggen? Gibt es Mittel gibt, die mir helfen würden, was die verschiedenen PHP-Dateien tun, um zu verstehen, oder wie das Zucker System funktioniert insgesamt?

Nur als Beispiel für die Art von Sache, ich rede: Ich herausgefunden, wie Zucker zu drucken Stack-Traces zu erhalten, und durch nach mehrer mir ein Muster mit allen Problemlinien bemerkte Einbeziehung

$this->_tpl_vars
Ich würde gerne versuchen, herauszufinden, warum das Methodenaufruf nicht funktioniert, aber ich weiß nicht:

A), was _tpl_vars soll
tun B), wo _tpl_vars definiert
C), was $this soll sein
D), wo im Rahmen $this wird eingestellt
etc.

Also, wenn jemand helfen kann erklären, wie / wo ich anfangen würde, Antworten auf diese Fragen zu finden, würde ich unglaublich dankbar.

War es hilfreich?

Lösung 3

Obwohl es keine perfekte Antwort auf meine Frage, ist dieser Artikel:

http: // developers.sugarcrm.com/wordpress/2008/09/26/where-is-the-code-for-x/

haben ein bisschen helfen. Auch wenn ich weiter durch den offiziellen Zucker docs sah fand ich, dass das Entwicklerhandbuch eine Erklärung von enthält, wie Zucker arbeitet (obwohl offensichtlich ist es nicht so darauf konzentriert, wie Zucker arbeitet so viel, wie es fokussiert ist, wie Zucker zu tun, neue Dinge zu machen).

Hope, die da draußen anderen aufkeimenden Zucker Devs hilft.

Andere Tipps

Ich arbeitete mit SugarCRM vor ein paar Jahren, und obwohl ich liebte, was ich auf der Oberfläche sah, landete ich es für unser Projekt abzulehnen, weil von dem, was Sie jetzt erleben. Die Einbauten des Produkts sind jämmerlich underdocumented. Ich hatte eine Reihe von Slick-Module für das Produkt vorgesehen, das Schreiben, aber die Ressourcen existieren einfach nicht. Sie werden Ihre Zeit Graben durch Code ausgeben, Forum-Beiträge Gießen über, und zu versuchen, Beispiele zu finden, was Sie versuchen zu erreichen. Klingt nicht wie die Dinge viel besser bekommen haben.

Da PHP-Erfahrung ist weniger als Guru Ebene, und Sie sind zweifellos beschäftigt mit vielen anderen Aufgaben und Termine, ich glaube, Sie sollten vielleicht diesen Übergang überdenken, wenn es nicht zu spät ist, zumindest bis Sie bekommen ein besserer Komfort mit Zucker. Wenn Sie gezwungen sind, aufgrund eines auslaufenden Vertrag mit Salesforce zu Zucker zu bewegen, ich glaube, Sie in für einige schwerwiegende Sodbrennen sein könnte!

Mit der Krumo Bibliothek zu helfen. Es ist super einfach und viel besser als var_dump oder print_r.

Laden Sie einfach den Quellcode und fügen Sie ihn irgendwo in Ihrem benutzerdefinierten Ordner. Ich benutze den benutzerdefinierten / include Ordner.

Dann eine Ansicht außer Kraft setzen oder was auch immer Sie betrachten müssen. Fügen Sie den Pfad class.krumo.php Datei und Krumo was Objekt, das Sie wollen einen Blick auf die Datei:

Schnell Beispiel -

<?php
  require_once('include/MVC/View/views/view.detail.php');
  require_once('custom/include/krumo/class.krumo.php');
  class AccountsViewDetail extends ViewDetail {

    function AccountsViewDetail() {
      parent::ViewDetail();
    }

    // Override the parent function "preDisplay" to add our own template
    function preDisplay(){
      krumo($this->bean);
      $metadataFile = $this->getMetaDataFile();
      $this->dv = new DetailView2();
      $this->dv->ss =&  $this->ss;
      $this->dv->setup($this->module, $this->bean, $metadataFile, 'custom/modules/Accounts/tpls/AccountsDetailView.tpl');
    }


  }
?>

Sie werden ein schönes Objekt auf der Seite, die Sie können in bohren.

eingeben Bild Beschreibung hier

Diese Codes kommen aus Smarty lib, nicht von SugarCRM kommt direkt an.

Vielleicht wird dies chm doc ein wenig hilfreich sein, http://code.google .com / p / sugardoc / downloads / Liste .

Sie können auch xdebug (PHP-Erweiterung) versuchen, die Installation und Schreiten durch den Code mit einem kompatiblen IDE wie Eclipse oder Komodo.

Die URL zeigt Ihnen, welche Modulverzeichnis zugegriffen wird und welche Aktion / Ansicht. Es gibt einen „Blick“ -Ordner unter den meisten Modulen. Wenn er nicht da ist, wird es entweder mit der Standard-MVC-Ansicht in den Include-Ordnern in Verbindung mit dem Metadaten Layout oder es ist mit der klassischen Ansicht Architektur: index.php (Listenansicht), DetailView.php und EditView.php und Vorlagen.

Es hat sich viel zum Besseren in den letzten Jahren stark verändert, so dass ich bin mir nicht sicher, dass die erste Antwort (Nack) noch relevant ist. Es ist immer noch ziemlich rau an den Rand, aber der neue Zucker Rahmen ist der beste Freund eines PHP Hacker (einfach Sachen in einer Upgrade-freundlichen Art und Weise außer Kraft zu setzen). Es ist toll für Unternehmen, die zufällig bereits PHP Hacker haben und brauchen nur ein paar Verbesserungen. Und die Suche nach erschwinglichen PHP Auftragnehmer zu helfen, ist nicht so schwer (Disclaimer: Ich bin einer). Ich denke, es ist ein großes Werkzeug, wenn Sie in Open Source sind, müssen nur grundlegende CRM und haben weniger als 100 Nutzer.

tpl ist Smarty Template-Dateien. Sie werden verwendet, wenn Anzeigen von Daten auf dem Bildschirm. Wie ich tue mein Debugging Vorarb ist eine Menge var erstellen Dumps lof einen Fehler oder sie nur auf dem Bildschirm gedruckt werden.

Auch auf dem Server erhalten xdebug, dies wird Ihnen helfen, eine Menge. Zucker ist mvc Plattform so erhalten zu wissen, wie das funktioniert, und wird viel einfacher, dann.

werfen Sie einen Blick auf einige Schnipsel i bei www.eontek.rs Post

Wenn ich das gleiche Problem auftreten, wenn die Detailseite des Kontos nicht angezeigt wurde und gab 500 interne Fehler. Ich habe, dass es nicht von der TPL generiert wurde. Zunächst überprüfte ich die Berechtigungen für den Ordner, in meinem Fall waren sie alle gesetzt. Also nahm ich die Backup-Cache \ modules \ Konten \ DetailView.tpl und manuell hinzugefügt, das Feld, danach alles funktionierte. Jedes Mal, in dem Entwicklermodus gibt es eine Notwendigkeit, diese Datei manuell zu kopieren. Es ist ein Schmerz, aber es gibt immer noch keine Antwort. Ich habe in den Foren, Bug, Twitter fragt diese, keine Hilfe. By the way, sind wir mit Sugar Professional.

Ich würde vorschlagen, darauf achten, dass es wirklich ein Code Bug ist und nicht nur ein Fehl Config. Sind Sie das Feld durch Admin Hinzufügen> Studio> Kontakte> Felder oder über die SOAP-API?

Sind Sie die neueste Version von Sugar mit?

ich wirklich darüber einig, dass das Projekt es schrecklich unter dokumentierten und in Übungen und Beispiele fehlen.

ich selbst erlebe die Schmerzen der veralteten / fehlenden Dokumentation. Viel Glück!

$this ist ein Verweis auf das aktuelle Objekt.

class Test {

    var $tmp;

    function __construct() {
        $this->tmp = 42;    
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top