2010-10-11 51 views

回答

0
+0

謝謝佩卡,但 – 2010-10-11 09:25:55

+0

@ Gautam我認爲你的意見是不完整的:) – 2010-10-11 09:49:14

+0

我想要在物質模板中使用php腳本。 – 2010-10-11 10:04:17

3

請注意,以下內容僅適用於使用靜態發佈博客。

您在MT模板中寫入的任何東西,除了模板標籤本身,都會發布到它創建的靜態文件中。基於此,我們可以確定,如果您的模板包含<?php echo 'Hello World'; ?>,則該確切代碼將放置在最終用戶訪問的最終文件中。如果文件擴展名是.php或者您的服務器已配置爲允許該文件執行PHP(例如使用.html),則當用戶訪問該頁面時,PHP代碼將被評估並且結果作爲頁面的一部分返回給用戶。

使用動態響應模板(例如「搜索結果」或「註釋響應」)時的例外情況。這些模板直接從Perl .cgi腳本(分別爲mt-search.cgimt-comment.cgi)呈現,因此根本不會解釋PHP。佩卡的答案中的鏈接顯示了一種方法,可以用來解決這個問題(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'; 
?> 

,我建議你在encode_php模板標籤修改讀了您嘗試混合您MT和PHP代碼庫之前。