后台侧边栏模板分组


如果您查看管理面板中的侧边栏,您会看到默认情况下,其中列出的所有项目都放置在两个组中。
所有常规的前端模板都在“模板”下,而所有系统模块(例如用户、草稿和评论)都在“管理”下。
在内部,这两个组分别称为“_templates_”和“_modules_”。

默认添加的模板都在_templates_组中,如果我们想让他在_modules_组中的话,需要这样指定:

<cms:template clonable='1' title='Test' parent='_modules_' >

这样新添加模板将会出现在_modules_组中。

如果要添加新的组,编辑“couch/addons/kfunctions.php”文件添加以下内容

if( defined('K_ADMIN') ){
    $FUNCS->add_event_listener( 'register_admin_menuitems', 'my_register_admin_menuitems' );
    function my_register_admin_menuitems(){
        global $FUNCS;
        $FUNCS->register_admin_menuitem( array('name'=>'_my_test_', 'title'=>'Test', 'is_header'=>'1', 'weight'=>'1')  );
        $FUNCS->register_admin_menuitem( array('name'=>'_my_another_test_', 'title'=>'Another Test', 'is_header'=>'1', 'weight'=>'2')  );
    }
}

默认情况下,如果模板的条目是可克隆模板,则会显示“图层”图标,如果不是,则根本没有图标。
您可以通过在 <cms:template> 标记中设置它来指定要使用的图标,例如如下:

<cms:template clonable='1' title='Test' parent='_my_test_' icon='audio-spectrum' >

这里是所有可用图标名称:https://useiconic.com/open#icons

以上!

在管理侧边栏中显示大量模板时,以下方法对于使事情更易于管理可能非常有用

我最近遇到了类似的情况。我的解决方案是完全取消“模板”组,然后创建多个自定义类别,这些类别以折叠状态显示,并在用户单击打开时保留其折叠/打开状态。

以下是截图

任何未明确放置在这些组之一中的模板都将出现在根本身中(与默认情况下放在“模板”组中相反)。
如果您对解决方案感兴趣,以下是需要做的事情 -

1. 编辑“couch/config.php”,删除此行前面的注释斜杠

//define( 'K_ADMIN_THEME', 'sample' );

2. 如您所知,激活示例主题后,放置在“couch\theme\sample”文件夹中的任何模板都将被 Couch 使用,而不是默认的系统模板。
在随附的 zip 中,您会找到三个这样的模板,提取它们并将它们放在“couch\theme\sample”中。

3. 最后编辑已经存在于 'couch\theme\sample' 中的 kfunctions.php 文件并将以下代码附加到它 -

// 添加新的面板组条目
if( defined('K_ADMIN') ){
    $FUNCS->add_event_listener( 'register_admin_menuitems', 'my_register_admin_menuitems' );
    $FUNCS->add_event_listener( 'alter_admin_menuitems', 'my_alter_admin_menuitems' );
    function my_register_admin_menuitems(){
        global $FUNCS;
        $FUNCS->register_admin_menuitem( array('name'=>'company', 'title'=>'Company', 'is_header'=>'1', 'weight'=>'1')  );
        $FUNCS->register_admin_menuitem( array('name'=>'calendar', 'title'=>'Calendar', 'is_header'=>'1', 'weight'=>'2')  );
        $FUNCS->register_admin_menuitem( array('name'=>'programs', 'title'=>'Programs', 'is_header'=>'1', 'weight'=>'3')  );
        $FUNCS->register_admin_menuitem( array('name'=>'support', 'title'=>'Support', 'is_header'=>'1', 'weight'=>'4')  );
        $FUNCS->register_admin_menuitem( array('name'=>'archive', 'title'=>'Archive', 'is_header'=>'1', 'weight'=>'5')  );
    }
    function my_alter_admin_menuitems( &$items ){
        global $FUNCS;
        if( array_key_exists('_templates_', $items) ){
            unset( $items['_templates_'] ); // removed this so now all templates by default go in '_root_'.
        }
        $items['_modules_']['weight']=100; // move administration group further down
    }
}

应该就是这样。您应该可以在侧边栏中找到上面代码中定义的菜单项。
您现在可以编辑/添加/删除它们以适合您的用例。
不用说,任何前端模板都可以放在上面定义的任何类别中,方法是使用它们的 <cms:template> 块的“父”参数,例如:

<cms:template title='Items' parent='company' order='0' clonable='1'>

以下是附件:https://www.couchcms.com/forum/download/file.php?id=2060