有没有办法在Drupal8中集成php而不是twig? Twig看起来有点烦人。但是在drupal 7中我们可以使用php语法创建tpl文件。有没有办法在Drupal 8中创建tpl文件。我是drupal的初学者。
答案 0 :(得分:0)
这是树枝中D8变更模板系统的主要和最好的变化之一 在drupal7中没有人建议你在主题图层或模板文件中编写像函数或查询或任何处理代码的PHP代码 在drupal 8中
HOOK_preprocess_page
和
HOOK_preprocess_node
与drupal 7中的相同
您必须在这些功能中编写您想要的代码,然后将要打印的内容发送到模板
就像你想在模板中打印当前用户名一样,然后做一些像这样的事情
使用HOOK函数hook_preprocess_page
如果您在主题中编写代码,请将此代码写入.theme文件
如果在模块中然后在.module文件
function themename_preprocess_page(&$variables) {
global $user;// current user object
$variables['customUserName'] = $user->getUsername();
}
如果在模块中,则将名称更改为主题名称,然后替换为模块名称
在你的树枝模板中,你将像这样打印这个变量
{{ customUserName }}
我们正在覆盖页面模板,因此您可以在所有页面模板中获取此变量 如果在节点模板中需要此变量,则将函数重命名为
function themename_preprocess_node(){}
希望这会对你有所帮助
感谢