0
希望有人能幫助我。我在CMSMS中使用smarty,並在我的頁面中運行了一個名爲User Defined Tag的用戶定義標記。這包含以下代碼:調用未知方法'_compile_source'。 Smarty 3
$db = cmsms()->GetDb();
$menu = $smarty->get_template_vars('page');
$user_id = $smarty->get_template_vars('userid');
if (!isset($user_id)) {
$user_id = -1;
}
// Getting menu items from DB
$query = 'SELECT * FROM '. cms_db_prefix() .'module_tools_options
WHERE active = 1 AND user_id = ? AND menu = ?
ORDER BY sort';
$dbresult = $db->Execute($query, array($user_id, $menu));
while ($dbresult && $row = $dbresult->FetchRow()) {
$smarty->_compile_source('preprocess template', $row['title'], $_compiled);
@ob_start();
$smarty->_eval('?>' . $_compiled);
$result = @ob_get_contents();
@ob_end_clean();
echo '<li id="menu_' . $row['option_id'] . '">' . $result . "</li>\n";
}
我已經升級了CMSMS安裝,因此現在運行的Smarty 3,這打破了我的網頁。我得到以下錯誤:
/lib/smarty/sysplugins/smarty_internal_templatebase.php: Call of unknown method '_compile_source'.
我猜的源代碼編譯方法現在已經貶值的Smarty的3人都可以點我在更換或得到這個方法再次合作的正確方向?
非常感謝