在Joomla 3中,我需要爲基於類別的K2文章指定不同的管理模板,以便能夠指定不同的額外字段並使內容貢獻者更容易添加項目。Joomla 3:如何覆蓋K2管理模板?
我以爲我找到了完美的解決方案,但它是幾年前爲Joomla的舊版本寫的。我確實聯繫了作者,他承認幾年前寫了這篇文章,從此停止使用Joomla,但無法爲我提供建議。
它與覆蓋前端k2模板非常相似。下面是描述它的文章:
但是我做到這一點,修改類別的管理模板時,沒有從默認的變化。我的想法是,在東西這個代碼,修改文件管理員/組件/ com_k2 /視圖/項目/ view.html.php不與Joomla V.3兼容:
//Look for specific admin template file
jimport('joomla.filesystem.folder');
$componentPath = JPATH_SITE.DS.'components'.DS.'com_k2'.DS.'templates';
$componentFolders = JFolder::folders($componentPath);
$db =& JFactory::getDBO();
$query = "SELECT template FROM #__templates_menu WHERE client_id = 0 AND menuid = 0";
$db->setQuery($query);
$defaultemplate = $db->loadResult();
if (JFolder::exists(JPATH_SITE.DS.'templates'.DS.$defaultemplate.DS.'html'.DS.'com_k2'.DS.'templates'.DS.'admin'.DS.$item->catid))
{
$this->_addPath('template',
JPATH_SITE.DS.'templates'.DS.$defaultemplate.DS.'html'.DS.'com_k2'.DS.'templates'.DS.'admin'.DS.$item->catid);
}
了,我知道有沒有我的數據庫中的名稱爲「templates_menu」的表。立即拋出一個錯誤。我相信它應該是template_styles「,並且最有可能的列應該是client_id和id。進行這些更改至少消除了錯誤
此外,我相信」if「語句中的路徑不正確。 「不需要目錄。
然而,即使做了這些改變之後,我似乎並沒有在我的新模板被拉動管理員側。
我希望一個Joomla/PHP高手(這我不是)可以在這裏權衡,我可以完全錯誤的關於路徑和表名稱的假設
編輯:在進一步研究時,我決定繼續並創建原始海報代碼中指示的表格。我現在在我的數據庫中有一個名爲e758z_templates_menu的表格。
但是,當試圖讓Joomla使用連接到類別ID的自定義管理模板時,我仍然沒有得到任何東西。它繼續使用默認的一個。