好吧,我基本上都明白了。此解决方案假定您已使用composer将MtHaml安装到Wordpress主题的根目录中。创建一个名为index的文件。haml,并使用haml的twig语法和所需的所有木材上下文,将haml和twig放在那里。然后,将其放入索引中。php:
require __DIR__ . "/autoload.php";
$haml = new MtHaml\\Environment(\'twig\', array( \'enable_escaper\' => false, , \'enable_dynamic_attrs\' => false));
$template = __DIR__ . \'/index.haml\';
$compiled = $haml->compileString(file_get_contents($template), $template);
Timber::render_string($compiled, Timber::get_context() );
就这样。MtHaml编译。haml文件到细枝,将细枝作为字符串传递给木材,木材使用木材上下文渲染字符串。
这还不是防弹的。我仍然有一些关于字符串插值和奇怪输出的问题。例如,在某些地方,如果我的HAML是这样的:
#content
= fn(\'is_category\',\'web\') ? \'<div class=blue>\'
MtHaml将其编译为:
<div id="content">
{% line 31 %}{{ fn(\'is_category\',\'web\') ? \'<div class=blue>\' }}
它将`{%行31%}添加到其中。我不知道为什么,也不知道如何解决这个问题。