Drupal - 在模板中渲染子视图/部分

2021-12-29 00:00:00 themes php drupal views

如何创建一个可以在多个模板页面中重复使用的 html 片段,并且可以将变量 s 传递到其中?有些像这样(但显然有点复杂):

How can I create a html snippet that I can reuse across multiple template pages and can pass variable s into? Some like this (but obviously a bit more complicated):

<ul>
    <? foreach ($items as $item): ?>
    <li><?=$item?></li>
    <? endfor; ?>
</ul>

谢谢

推荐答案

使用 hook_theme() 在自定义模块中,然后调用 theme() 模板中的方法.

Use hook_theme() in a custom module, then call the theme() method from within your template.

在您的模块中:

mymodule_theme($existing, $type, $theme, $path) {
  return array(
    'my_theme_name' => array(
      'template' => 'my_template_file_name', // without the .tpl.php extension
      'variables' => array(), // to define default values for passed variables
     )
  );
}

在您的模板中:

theme('my_theme_name', array('arg1' => 'val1', 'arg2' => 'val2'));

相关文章