web-gelistirme-sc.com

dpm () ekranda hiçbir sonuç göstermiyor

file_scan_directory () yürütmek için yaklaşık 10 saniye sürer aynı sorun var . Sadece dpm(func_get_args()) öneriyi denedim ve ne yazık ki bana bir şey göstermiyor.

Tüm önbellekleri temizledim ve cron görevlerini gerçekleştirdim. Neyi kaçırıyorum?

23
Jimmy

Sahip olduğundan emin ol print $messages; öğenizde page.tpl.phptemplate dosyası. Varsayılan olarak, devel (dpm) içeriğini sitenin mesaj alanına yazdıracak şekilde yapılandırılmıştır. Dolayısıyla, şablonunuz herhangi bir nedenden ötürü $messages, hiçbir şey göremezsiniz.

28
svetlio
  1. krumo($variable) çalışmadığında bazen dpm($variable) işe yarayabilir.

  2. print dpm($variable) çalışmadığında bazen dpm($variable) işe yarayabilir.

    1. artık print $messages hesabınızda page.tpl.php olmadığında da çözüm olabilir. Belki geri ekleyebilirsiniz.
13
leymannx

Devel'e erişmek için doğru izinlerle Drupal sitesinde oturum açmanız gerekir. Yönetici olarak oturum açmalısınız.

9
Powdermonkey1850

Kesinlikle tavsiye ederim devel_debug_log . Devel modülünü gerektirir ve size ddl () işlevini verir. ddl, yapılandırmadaki raporlarınıza bir sayfa ekler, bu nedenle bekçi köpeğine yazdırmaya benzer, ancak hata ayıklama iletilerinizi gönderebileceğiniz ve mesajlarınızın sizden önce temizlenebileceği yarış türü koşullarından endişe etmediğiniz güzel ve temiz bir sayfanız var onları görme şansı - ya da sizin durumunuzda olduğu gibi tema sorunları.

(Tüm bu istekler size hiçbir zaman dpm () mesajı göstermeyeceğinden, bu, herhangi bir API oluşturmaya çalışıyorsanız son derece kullanışlı bir araçtır.)

9
UnsettlingTrend

Devel modülünü dpm() olarak etkinleştirdiğinizden ve kurduğunuzdan emin olun. Bu modülde bildirilen bir işlevdir.

dpm()burada adresinden alınan açıklama.

Drupal_set_message () öğesini kullanarak sayfanın ‘mesaj’ alanına bir değişken yazdırır. Sitenizi çalıştıran kod üzerinde çalışırken bir veya daha fazla değişkeni izlemek için bu işlevi kullanabilirsiniz. Devel modülü artık Krumo ile birlikte geldiğinden, çıktı kompakt ve göze batmaz.

dpm($input, $name = NULL)

Herhangi bir nedenle Krumo kullanmıyorsanız, farklı dpm () çağrılarını ayırt etmek için $ name parametresini kullanabilirsiniz.

Devel'i indirip etkinleştirdikten sonra file_scan_directory () dosyasının yürütülmesi yaklaşık 10 saniye sürer yanıtını tekrar deneyin ve çalışması gerekir.

8
Chapabu

Şablon dosyasına dokunmadan (veya sahip olmadan) bir işlevin içinden yazdırmak istiyorsanız, şunu deneyin:

$nid = 3;
$node = node_load($nid);
dpm($node);
print theme('status_messages'); 
5
Gavin Mcdonough

Bu bazen sayfadaki 404 kaynağını döndüren bir kaynağın sonucudur.

Drupal 404 sayfasını işler ve böylece oturumdaki mesajları alır (ve temizler) ve görmediğiniz 404 sayfasına koyar. Daha sonra ana sayfa mesajları aldığında hiçbir şey kalmaz.

Ağ sekmesini açabilir ve herhangi bir kaynakta 404 durumunun olup olmadığını kontrol edebilirsiniz.

Burada kolay bir çözüm, ayarlarda bu satırı açarak hızlı 404'ü etkinleştirmektir. Php:

# drupal_fast_404();

Buradaki başka iyi bir çözüm de SlakeFistcrunch tarafından önerildiği gibi devel_debug_log kullanmaktır.

3
Felix Eve

Bazen mesaj kesilebilir veya AJAX durumunda çalışmaz.

Daha güvenilir yöntem sadece yapmaktır (daha sonra bitirdikten sonra çıkarın):

var_dump($data); die();

Veya dd() (Devel'in bir parçası), ör.

dd(func_get_args());

ardından günlük dosyanızı (geçici klasörde) kontrol edin, ör.

$ tail -f /tmp/drupal_debug.txt

Yukarıdaki yöntemi kullanmak daha kolay, daha hızlı ve geçerli site oluşturmayı bozmadan AJAX veya başka bir isteği destekleyebilir.


Hala dpm() ürününü beğendiyseniz, kint() işlevini de kullanmayı deneyin (değişkenlerin bu güzel yazdırılması için birlikte verilen Kint alt modülünü etkinleştirin).

2
kenorb

Yalnızca bazı dpm() çağrıları çalışmazsa, bunun nedeni dpm() kilitlenmesidir. Aşağıdaki senaryoda özel form gönderme işleyicisinde olduğunu gördüm:

function mymodule_formid_submit($form, &$form_state) {
  dpm($form_state);
}

Hata durumu dpm() içinde bir istisna işleyici tarafından yakalandığına inanıyorum, çünkü sayfa gayet iyi, WSOD veya başka bir şey görüntülemiyordu, sadece dpm() mesajı da yoktu. Devel Hata Ayıklama Günlüğü modülü tarafından oluşturulan raporda karşılık gelen nesneyi izlerken ddl($form_state) kullanıldığında tarayıcı bellekte maksimum değer elde ettiğinden, hata büyük olasılıkla saptanamayan özyineleme.

Çözüm olarak, nesnenin dpm($form_state['values']) veya dpm(array_keys($form_state)) gibi yalnızca (ilgili) bir bölümünü yazdırmayı deneyin.

1
tanius