2014-01-19 102 views
0

我创建了一个自定义模块,并且我想在我的模块使用/创建的模板中使用我未来网站的complete_url。Drupal:从自定义.module创建变量到自定义.tpl.php

我尝试了几种方法,并搜索谷歌,但我没有找到解决方案。 然而,这个问题似乎很简单,这成为我疯狂x)

所以,我必须在我的.module中创建一个变量,并添加她,当我在main_socialtag_theme函数中返回数组。哪里/我该怎么做?

我.module:

function main_socialtag_block_info(){ 
    $block['main_socialtag']=array(
     'info' => t('Main socialtag'), 
     'cache' => DRUPAL_NO_CACHE, 
    ); 
    return $block; 
} 

function main_socialtag_theme(){  
    return array(
     'main_socialtag_block' => array(
      'template' => 'theme/main_socialtag_block', 
      'variables' => array(), 
     ), 
    ); 
} 

function main_socialtag_block_view($delta=''){ 
    if ($delta == 'main_socialtag'){  
     return array(
      'subject' => '', 
      'content' => array(
       '#theme' => 'main_socialtag_block', 
      ) 
     ); 
    } 
} 

感谢您的帮助,和抱歉,我的英语不好写!

回答

1

如果您正在寻找添加,修改和调用变量的方法。检查variable_getvariable_set

要添加或修改变量值:

variable_set("my_variable_name", "value"); 

检索值:

$myVal = variable_get("my_variable_name", ""); 

对于hook_theme实施,请检查this question

+0

感谢您的回答穆罕默德=)这种方式完美(我保留这个x)),但这不是最好的做法吗? 当我返回_theme函数的数组时,无法在自定义模块中声明一个变量并传递给它。 (该行:“'variables'=> array(),”) – user2137454

+0

你到底需要什么? –

+0

您的解决方案对我的问题很有帮助。现在,我只是寻找最佳实践,我认为(但是,也许我错了)最好是通过这个行“变量”=>数组(),“(函数_theme)传递变量。 – user2137454