如何在MovableType 5模板中使用php代码?

时间:2010-10-11 08:01:59

标签: php movabletype

如何在MovableType 5模板中嵌入/执行php代码?

2 个答案:

答案 0 :(得分:3)

请注意,以下内容仅适用于使用静态发布的博客。

您在MT模板中编写的任何内容(模板标签本身除外)都将发布到它创建的静态文件中。基于此,我们可以确定,如果您的模板包含<?php echo 'Hello World'; ?>,那么确切的代码将被放置在最终用户访问的最终文件中。如果文件扩展名为.php或者您的服务器已配置为允许文件执行PHP(例如使用.html),则当用户访问页面时,将评估PHP代码并返回结果作为页面的一部分用户。

例外情况是使用动态响应模板,例如“搜索结果”或“评论响应”。这些模板直接从Perl .cgi脚本(分别为mt-search.cgimt-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)