如何在drupal模块中具体显示任何类型的内容

时间:2013-10-10 07:26:02

标签: php drupal-7 drupal-modules drupal-theming

这将是我在网站上的第一个问题,我希望我能说清楚!

所以我正在努力将常规的php / html / js网站改编成drupal网站。有一些特定的东西是无法用可用的模块做的,所以需要创建一些。我一直在网上闲逛,观看和阅读一些教程,但我不知道如何用块模块显示简单的html / js / php。

例如,我想在块模块中显示它:

`<script type="text/javascript" src="jquery-min.js"></script> 
<div class="myDiv"></div> 
<script> 
$(".maparea").append('<p class='myText'>Hello there!</p>'); 
</script>`

另一方面,我有我的block_view函数:

`function my_module_block_view($delta = '') {
    $block = array();
    $block['subject'] = 'my Module title';
    $block['content'] = 'some content';
    return $block;
}`

如果我用原始代码替换“某些内容”,那么首先我不认为这是最好的方式,总体来说它不能很好地工作。此外,我想使用drupal API来插入js(drupal_add_js),但是如何?

`block['content'] .= drupal_add_js(drupal_get_path('module', 'my_module').'/myScript.js');`

最后,我找到了一些关于主题系统和模板的信息。所以我似乎必须实现my_module_template.tpl.php,并在my_module.module中实现hook_theme。

这很模糊,所以我真的需要一些帮助来理解基础知识。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以在drupal_add_js()drupal_add_css()函数中调用hook_preprocess_block__module()hook_preprocess_block__module__delta()(用特定值替换'hook','module'和'delta')在您的模块中与hook_block_view()函数一起定义,或在主题的'template.php'文件中定义。