PHP Drupal(6和7):以编程方式更改活动主题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP Drupal(6和7):以编程方式更改活动主题相关的知识,希望对你有一定的参考价值。

// DRUPAL 6
function mymodule_init(){
	global $custom_theme;
	$custom_theme = 'garland';
}



// DRUPAL 7
/**
 * Defines a theme callback function per registered path.
 */
function mymodule_menu_alter(&$items) {
	$items['node/%node']['theme callback'] = 'mymodule_default_node_theme';

	$items['node/%node/edit']['theme callback'] = 'mymodule_edit_node_theme';
	$items['node/%node/edit']['theme arguments'] = array(1);
}


/**
 * Theme name callback: without parameters.
 */
function mymodule_default_node_theme() {
	return 'garland';
}


/**
 * Theme name callback: with parameters.
 */
function mymodule_edit_node_theme($node) {
	return $node->type == 'page' ? 'seven' : mymodule_default_node_theme();
}


/**
 * Use hook_custom_theme() if the choice of theme doesn't depend on the path.
 */
function mymodule_custom_theme() {

	//Example: Changes the theme name depending if the user has a special role or not.
	global $user;
	if (in_array(variable_get('mymodule_special_role', 0), array_keys($user->roles))) {
		return 'bartik';
	}
}

以上是关于PHP Drupal(6和7):以编程方式更改活动主题的主要内容,如果未能解决你的问题,请参考以下文章

php 在drupal 8中以编程方式创建词汇和术语: - Drupal

如何以编程方式更改 Drupal 用户密码?

php Drupal 8:以编程方式处理队列

php Drupal 8以编程方式创建用户

PHP Drupal:以编程方式注销用户

PHP Drupal以编程方式打印视图