2012-11-22 79 views
0

有沒有一種方法可以跟蹤在Zend框架中Smarty變量分配在哪個控制器函數中?下面Smarty Zend變量源

實施例:

{$TITLE} 

這是search.tpl

這必須一直使用Smarty的分配功能分配的。

如何找到該作業?

+0

你的意思是在運行時? – akond

回答

0

由於assign(文檔here)功能只需要2個參數,這是keyvalue(或key/value對單一參數),你很可能將無法找到程序是什麼的來源分配。

一個Smarty模板也可以使用{assign}(文檔here)來分配一個值。

雖然你可以做的是Find in Files(取決於你的IDE,所有體面的例如Sublime Text 2,Visual Studio,Notepad ++等等)都提供了一種查找所有文件中字符串的方法一個文件夾,通常會爲您提供更多選項,例如對文件擴展名進行過濾),如果您認爲某個模板可能已經分配了該字符串,則可以使用字符串->assign("Title"或簡單字符"title"。從那裏,你將能夠找到哪些源文件分配這個值。如果設置了多個地方並且想要調試執行哪一個地方,我建議使用一些echo調用,它們將在您的Template之前出現在HTML文檔中。

+0

謝謝你。我嘗試了回聲,但它似乎沒有從控制器回聲。這些變量只能通過分配參數來訪問。爲什麼有這個原因? –

+0

@JohnKim你確定你的控制器正在分配標題嗎? – emartel

+0

tpl文件正在調用[[$ TITLE]],我不確定這是從哪裏來的,它絕對不是在Smarty模板本身內部分配的 –