Drupal özel modül GUI PHP etiketleri erişilebilir değil nesne

0 Cevap php

Yani Drupal 6.x için özel bir modül oluşturduk ve ben page.tpl.php sayfasında istenen sonuçları görebileceğiniz gibi çalışır, ama ben GUI bir sayfa düzenlerken (php etiketleri sağlar) nesne değildir erişilebilir.

Ben GUI yanı sıra modül erişebileceğiniz bir OTURUM değerlerini ayarlayabilirsiniz ama bu yapmak için doğru yolu nedir?

İşte ben almak hatadır:

Fatal error: Call to a member function getEmail() on a non-object in /var/www/domain/includes/common.inc(1695) : eval()'d code on line 221

Call Stack
#   Time    Memory  Function    Location
1   0.0003  64108   {main}( )   ../index.php:0
2   0.0965  11659504    menu_execute_active_handler( )  ../index.php:18
3   0.1040  12626908    call_user_func_array ( )    ../menu.inc:348
4   0.1040  12627316    node_page_view( )   ../menu.inc:0
5   0.1040  12627532    node_show( )    ../node.module:1797
6   0.1040  12627848    node_view( )    ../node.module:1101
7   0.1040  12628192    node_build_content( )   ../node.module:1006
8   0.1041  12648832    node_prepare( ) ../node.module:1085
9   0.1041  12649112    check_markup( ) ../node.module:1041
10  0.1047  12671980    module_invoke( )    ../filter.module:457
11  0.1047  12693240    call_user_func_array ( )    ../module.inc:462
12  0.1047  12693900    php_filter( )   ../module.inc:0
13  0.1048  12694164    drupal_eval( )  ../php.module:82
14  0.1059  12883728    eval( ''?>

getEmail () benim özel modülünde bir sınıfta bir fonksiyonudur. Ben sadece iyi page.tpl.php onu aramak, bu yüzden neden ben Yönetici GUI düzenlediğiniz bir sayfa onu aramak değil mi?

EDIT:

Modülünden Kod Ekleme:

//wrapperFunction() is calling the class and setting the values
// this is just a getter/setter class w/ 1 function that formats a phone number, nothing special
$custom = new CustomObj(); 
$custom->setEmail('blah@blah,com');

return $custom;

page.tpl.php

// calls the wrapper function and returns the object
$custom_obj = wrapperFunction();
echo $custom_obj->getEmail(); // this prints the email just fine

Edit page through the Admin GUI (Allows PHP tags) Adding this code to the page

<?php echo $custom_obj->getEmail(); ?> // throws the error

Maalesef bu ben nefes de Drupal kullanarak yeni kulüpler kadar herhangi bir fikir harika olurdu benim ilk Drupal Modülü olduğunu ...

0 Cevap