【发布时间】:2012-12-17 07:18:23
【问题描述】:
我想在我的 nanoc 网站上制作一个联系表格,我需要在我的 .haml 文件中放入一些 php 代码 - 有什么方法(过滤器可能?)可以轻松实现这一点,或者我必须将整个页面保存为.php(并且使用标准的 html 语法而不是 haml 语法?)。
或者也许有纯Ruby的方案(托管在github上就可以实现?)
请帮忙!
【问题讨论】:
标签: php syntax haml contact-form nanoc
我想在我的 nanoc 网站上制作一个联系表格,我需要在我的 .haml 文件中放入一些 php 代码 - 有什么方法(过滤器可能?)可以轻松实现这一点,或者我必须将整个页面保存为.php(并且使用标准的 html 语法而不是 haml 语法?)。
或者也许有纯Ruby的方案(托管在github上就可以实现?)
请帮忙!
【问题讨论】:
标签: php syntax haml contact-form nanoc
Haml 3.2 即将发布(rc3 刚刚是released),并且应该有一个新的haml-contrib gem 随之发布。 haml-contrib 有一个 PHP filter,这可能是您正在寻找的。p>
php 过滤器的文档注释说:
# A PHP Filter for Haml. This simply wraps code inside <?php ?> tags. While this
# may seem like a strange idea, some people use Haml to generate mostly static
# HTML documents that then include small amounts of PHP.
#
# This code also serves as an example of how to implement a simple filter for
# Haml.
它实际上并没有比Kevin Granger’s answer 中的:plain 过滤器做得更多,但可能会使事情变得更容易。
一个例子:
$ cat php.haml
:php
foreach ($es as $e) {
echo $e;
}
$ haml -rhaml/filters/php php.haml
<?php
foreach ($es as $e) {
echo $e;
}
?>
【讨论】:
您可以使用 :plain 过滤器来保留 php,它不会解析过滤后的文本。这在您保留多行 php 时很有用。
例如:
:plain
<?php foreach ($es as $e) {
echo $e;
} ?>
【讨论】: