如何在MovableType 5模板中嵌入/执行php代码?
答案 0 :(得分:3)
请注意,以下内容仅适用于使用静态发布的博客。
您在MT模板中编写的任何内容(模板标签本身除外)都将发布到它创建的静态文件中。基于此,我们可以确定,如果您的模板包含<?php echo 'Hello World'; ?>
,那么确切的代码将被放置在最终用户访问的最终文件中。如果文件扩展名为.php
或者您的服务器已配置为允许文件执行PHP(例如使用.html
),则当用户访问页面时,将评估PHP代码并返回结果作为页面的一部分用户。
例外情况是使用动态响应模板,例如“搜索结果”或“评论响应”。这些模板直接从Perl .cgi
脚本(分别为mt-search.cgi
和mt-comment.cgi
)呈现,因此根本不会解释PHP。 Pekka的答案中的链接显示了一种可以用来解决此问题的方法(Using PHP inside Movable Type's Search Template,为方便起见)。
此外,由于MT在创建文件时静态构建文件并处理模板标记,因此您可以将模板标记与PHP代码混合以动态更改最终的PHP代码。
<?php
$blogURL = '<$mt:BlogURL$>';
$entryTitles = array();
<mt:Entries lastn="4">
$entryTitles[] = '<$mt:EntryTitle encode_php="q"$>';
</mt:Entries>
?>
May output the following PHP code:
<?php
$blogURL = 'http://example.com/';
$entryTitles = array();
$entryTitles[] = 'Title 1';
$entryTitles[] = 'Title 2';
$entryTitles[] = 'Title 3';
$entryTitles[] = 'Title 4';
?>
我建议您在尝试混合MT和PHP代码库之前先阅读encode_php模板标记修饰符。
答案 1 :(得分:0)