我想知道是否有办法在Joomla管理员中更改起始页面。我希望在用户登录而不是控制面板时显示一个组件。
编辑:我想我真正想要的是重新定位,当我登录时,直接说index.php& option = com_mycomponent,但我仍然希望能够访问控制面板等。
谢谢。
答案 0 :(得分:1)
对于Joomla 3.X
您需要通过添加文件(和文件夹树)来覆盖管理模板中的cpanel组件:
[tpl_xxx]/html/com_cpanel/cpanel/default.php
其中tpl_xxx是您默认显示的管理模板。
然后,您可以显示与组件相关的任何内容。
<?php
defined('_JEXEC') or die;
if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR);
//Load pane behavior
jimport('joomla.html.pane');
jimport('joomla.application.component.model');
define(MYPATH_ADMINISTRATOR,JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_xxx'.DS);
require_once (MYPATH_ADMINISTRATOR.'models'.DS.'xxx.php');
JFactory::getLanguage()->load('com_xxx', JPATH_ADMINISTRATOR);
//initialise variables
$document = JFactory::getDocument();
$user = JFactory::getUser();
//load model
$xxxModel = JModelLegacy::getInstance( 'xxx', 'xxxModel' );
$extraData = $xxxModel->getExtraData();
//build toolbar
JToolBarHelper::title( JText::_( 'COM_XXX_XXX' ), 'home' );
...
答案 1 :(得分:1)
在您正在使用的管理员模板中查找index.php。 在其中,找到一行包含:
$cpanel = ($option === 'com_cpanel');
之后只需添加:
if($cpanel){
$app->redirect("index.php?option=com_xxx");
}
重定向到您喜欢的任何组件视图。 第一行代码存在于第99行的isis模板中。如果没有,只需将条件调整为
if($option === 'com_cpanel')
答案 2 :(得分:0)
在administrator / template_name / index.php中编辑管理员模板index.php文件。注意:为避免任何更新问题,如果您正在寻找深度自定义,则最好克隆模板。 另请注意,您可以在www.yoursite.com/administrator/index.php?option=com_modules&filter_client_id=1
中向管理员模板添加/删除/更新/发布/取消发布模块。