【问题标题】:Changing admin theme programmatically in drupal在 drupal 中以编程方式更改管理主题
【发布时间】:2012-06-01 07:37:17
【问题描述】:

如何以编程方式设置我的管理主题?

现在我为匿名用户使用公共主题,为会员使用会员主题。我正在使用角色主题切换器来实现这一点。
现在我希望我的管理主题为 rubik。我试图从 /admin/settings/admin 更改它,但它没有效果。

有没有办法做到这一点?我想要我的网站前端的公共主题和后端的魔方主题。

【问题讨论】:

    标签: drupal drupal-6


    【解决方案1】:

    管理主题存储在variable 表中;你可以像这样在代码中更新它:

    variable_set('admin_theme', 'theme_name');
    

    【讨论】:

      【解决方案2】:

      您还可以将主题分配给特定路径。

      将管理主题应用到路径/SOMEPATH/*

      function MYMODULE_custom_theme() {
        if (arg(0) == 'SOMEPATH') {
          return variable_get('admin_theme');
        }
      }
      

      将管理主题应用于路径别名/SOMEPATH/*

      function MYMODULE_custom_theme() {
        //drupal_get_path_alias() may interfere with Global Redirect module
        $arg = explode('/', substr(drupal_get_path_alias(request_uri(), 1), strlen(base_path())));
        if ($arg[0] == 'SOMEPATH') {
          return variable_get('admin_theme');
        }
      }
      

      将自定义主题应用于/admin/*

      function MYMODULE_custom_theme() {
        if (arg(0) == 'admin') {
          return 'MYADMINTHEME'; //list_themes() to see available themes
        }
      }
      

      选择一个函数并将其插入到您的模块中,将 MYMODULE 替换为模块名称。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-15
        相关资源
        最近更新 更多