龙空技术网

Drupal10的Element中的#theme属性是什么?

阿隆7973 111

前言:

眼前各位老铁们对“drupal添加css”大约比较关怀,大家都需要剖析一些“drupal添加css”的相关知识。那么小编也在网摘上搜集了一些对于“drupal添加css””的相关知识,希望朋友们能喜欢,兄弟们一起来学习一下吧!

$output['admin_filtered_string'] = [  '#markup' => '<em>This is filtered using the admin tag list</em>',];$output['filtered_string'] = [  '#markup' => '<video><source src="v.webm" type="video/webm"></video>',  '#allowed_tags' => [    'video',    'source',  ],];$output['escaped_string'] = [  '#plain_text' => '<em>This is escaped</em>',];// 使用theme属性$output['haha'] = [  '#theme' => 'example_abc',  '#cust_var1'=> '这是我的标题',  '#cust_var2'=> '这是我的内容',];$output['demofoo'] = [  '#theme' => 'example_foo',];

例如上面例子中的#theme是什么,说人话就是由下面的钩子提供属性参数,当然系统会默认附带一些,自定义就需要自己在这个hook_theme()里面添加到$variables中

<?php /** * Implements hook_theme() for module example */function example_theme($existing, $type, $theme, $path){  return [    'example_abc' => [      'variables' => [        'cust_var1' => '',        'cust_var2' => ''      ]    ],    'example_foo' => [      'variables' => [        'foo_var1' => '标题Foo',        'foo_var2' => '内容Fooxxxxxx'      ]    ]  ];}/** * Implements template_propcess_HOOK(&$variables) for example_abc */function template_propcess_example_abc(&$variables){  if(empty($variables['cust_var'])){    $variables['cust_var1'] = '这是我的默认标题';  }else{    $variables['cust_var1'] = '这是hook添加的前缀:'.$variables['cust_var1'];  }}

这样我们就能为上面指定#theme属性的渲染元素添加参数了,例如上面例子就添加一个cust_var参数,templates/example_abc.html.twig模板中就能使用这个自定义参数了

<h5>{{ cust_var1 }}</h5><p>{{ cust_var2 }}</p>

templates/example_foo.html.twig

<ul>  <li>    <h5>{{ foo_var1 }}</h5>    <p>{{ foo_var2 }}</p>	</li>	<li>    <h5>XXXXXXXX</h5>    <p>YYYYYYYYYY</p>	</li></ul>

总结:

这么说是不是就明白了?如果还有疑惑,欢迎留言交流,一起进步。

标签: #drupal添加css