Eğer SugarCRM sorunları nasıl debug / SugarCRM nasıl çalıştığını öğrenmek?

9 Cevap php

Ben SugarCRM için Salesforce bizim şirket taşımak için çalışmakla sürecinde değilim, ama pis bir bug (Ben Hesapları için özel bir alan eklemek an, tüm hesaplar gösterilmesini durdurmak) için çalıştırmak. Biz SugarCRM insanlardan destek ödedim, ama onlar sadece açık kaynak sürümü için teknik destek-o-get-a-değersiz-tepki-düzey forever-take (ve biz veba gibi özel yazılımları önlemek). Oh, ve ben bizim Salesforce sözleşme haftanın sonunda sona erecek bahsetti mi?

Yani, uzun lafın kısası, ben SugarCRM APP kendimi ayıklama şaşırıp. Ben terbiyeli deneyimli programcı değilim, ve ben bazal PHP yetkinliğe sahip, ama ben bile bu sorunu çözmek için çalışıyor olmanın nerede bilmiyorum. Orada herhangi Şeker geliştiriciler Şeker hata ayıklama için sürecin her türlü tavsiye edebilir misiniz? Bana farklı PHP dosyaları ne anlamak için yardımcı ya nasıl Şeker sistemi, genel işleri olurdu orada herhangi bir kaynak var mı?

Just as an example of the sort of thing I'm talking about: I figured out how to get sugar to print stack traces, and by following several I noticed a pattern with all the problem lines involving

$this->_tpl_vars
I'd love to try and figure out why that method call isn't working, but I don't know:

A) what _tpl_vars is supposed to do
B) where _tpl_vars is defined
C) what $this is supposed to be
D) where in the framework $this gets set
etc.

Herkes bu sorulara cevap bulma başlamak istiyorum nasıl / nerede açıklanmasına yardımcı olabilir Yani, ben son derece minnettar olurum.

9 Cevap

Benim soru, bu maddeye mükemmel bir cevap değil de:

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

biraz yardımcı oldu. Ben resmi Şeker dokümanlar aracılığıyla daha baktığında (şeker, Şeker, yeni şeyler yapmak için nasıl odaklanmış gibi çok nasıl odaklanmış olarak tabii ki bu değil rağmen) Ayrıca ben Geliştirici Kılavuzu Şeker nasıl çalıştığını biraz açıklama içermiyor bulundu.

O orada başka filizlenen Şeker devs yardımcı olur umarım.

Ben hesabın ayrıntı sayfası gösterilir değil aynı sorunla karşılaştı ve 500 iç hata verdiyse. Ben VUK tarafından oluşturulan olmadığını kontrol etti. İlk başta ben bu klasörü izinlerini kontrol benim durumumda onlar tüm set vardı. O her şeyi çalıştı sonra Yani, \ cache \ modüllerin yedeğini aldı \ DetailView.tpl hesapları ve el alan eklendi. Geliştirici modunda her zaman elle bu dosyayı kopyalamak için bir ihtiyaç var. Bu bir acı, ama hala cevap yok. Ben, forumlarda Bug, Twitter, hiçbir yardım bu istediler. Bu arada, biz Şeker Professional kullanıyorsanız.

$this geçerli nesneye bir referanstır.

class Test {

    var $tmp;

    function __construct() {
    	$this->tmp = 42;	
    }
}

Ben gerçekten bir kod hata ve sadece bir bayan yapılandırma olduğundan emin öneririm. Eğer Yönetici> Stüdyo> Rehber> Tarla aracılığıyla veya SOAP API aracılığıyla alanını ekliyoruz?

Eğer Şeker son sürümünü kullanıyor musunuz?

Gerçekten proje, korkunç altında belgelenmiş ve öğreticiler ve örnekler eksik olduğunu kabul ediyorsunuz.

I myself am experiencing the pains of outdated / missing documentation. Good luck!

Ben bir kaç yıl önce SugarCRM ile çalıştı ve ben yüzeyde gördüğümüz sevilen rağmen, ben, çünkü artık ne yaşıyorsanız bizim proje için reddediyor sona erdi. Ürünün iç yapıları acı underdocumented edilir. Ben ürün için kaygan modülleri bir demet yazma öngörülen vardı, ancak kaynaklar, sadece yok. Sen, kod kazma forum iletilerinden üzerinden dökülen ve başarmak için çalışıyoruz ne örnekler bulmak için çalışırken her zaman harcarsınız. Çok daha iyi şeyler aldık gibi gelmiyor.

PHP deneyimi az-daha-guru düzeyi ve diğer görevler ve tarihleri ​​bir sürü şüphesiz meşgul olduğunuzu, ben daha iyi bir konfor olsun, en azından kadar, çok geç değil eğer belki bu geçişi yeniden gözden geçirilmesi gerektiğini düşünüyorum verilen Şeker seviyesi. Çünkü Salesforce ile sona eren sözleşme Şeker taşımak zorunda iseniz, ben bazı ciddi mide ekşimesi için olabilir düşünüyorum!

Yardım etmek Krumo kitaplığı kullanın. Bu süper kolay ve var_dump veya print_r daha iyi bir yol var.

Sadece kaynak kodunu indirmek ve yere özel klasörüne ekleyin. Ben klasör eklemek / özel kullanabilirsiniz.

Sonra Görünüm geçersiz veya bakmak gerekir ne olursa olsun. Class.krumo.php dosyayı dosya yolunu ve bakmak istediğiniz her türlü nesne krumo şunlardır:

Hızlı bir örnek -

<?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');
    }


  }
?>

Sen inebilirsiniz sayfada güzel bir nesne alırsınız.

enter görüntü açıklaması here

Bu kod doğrudan SugarCRM gelen değil, Smarty lib geliyor.

Belki bu chm doc biraz yardımcı olacak, http://code.google.com/p/sugardoc/downloads/list.

Ayrıca XDebug (PHP uzantısı) yükleme ve bu tutulma veya Komodo gibi uyumlu bir IDE ile kod boyunca adım deneyebilirsiniz.

URL modülü dizini aksiyon / görünümü erişilen ve hangi edildiği söyler. Çoğu modül altında "views" klasörü var. Index.php (listview), DetailView.php ve EditView.php ve şablonları: orada değilse, o meta düzeni ile birlikte dahil klasöründe varsayılan MVC görünümünü kullanarak, ya da klasik görünüm mimarisini kullanıyor ya bulunuyor.

Bir çok son birkaç yıl içinde daha iyi için değişti, bu yüzden ilk cevap (Nack) hala geçerli olduğundan emin değilim. Hala oldukça kaba kenarlarda, ama yeni bir Şeker çerçeve PHP korsanı en iyi arkadaşı (gerçekten kolay bir yükseltme-dostu bir şekilde şeyler geçersiz kılmak için) 'dir. Zaten PHP hackerlar sahip olur ve sadece birkaç geliştirmeleri gereken şirketler için harika. Ve yardım için uygun PHP müteahhitleri bulma zor (: Ben biriyim reddi) değildir. Ben, açık kaynak içine eğer harika bir araç olduğunu düşünüyorum sadece temel CRM ihtiyacı ve az 100 kullanıcı bulunuyor.

tpl smarty şablon dosyaları. Ekranda verileri görüntüleyen Onlar kullanılır. Nasıl benim debuging süreç yapmak var bir sürü lof hata veya sadece ekranda onları baskı döker oluşturmaktır.

Ayrıca sunucuda xdebug olsun, bu size çok yardımcı olacaktır. Şeker böylece nasıl çalıştığını bilmek olsun mvc platformu, ve sonra çok daha kolay olacaktır.

i www.eontek.rs yazabilir bazı parçacıkları bir göz atın