Речь идет о стандартном мета-теге:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

который нам надо привести к стандартам html5:

<meta charset="utf-8" />

Если бы речь шла о чем-то не под названием Drupal, эта задача решалась бы простой заменой строк, но в нашем случае все мета-теги находятся внутри массива и нам придется делать их override через template.php темы.

в Drupal 6
Воспользуемся функцией http://php.net/str_replace написав такую функцию overrid'a:

// Overriding the meta Content-Type tag for Drupal 6 to htm5 standrts
function НАЗВАНИЕВАШЕЙТЕМЫ_preprocess_page(&$vars, $hook) {
	$vars['head'] = str_replace(
		'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />',
		'<meta charset="utf-8" />',
		$vars['head']);
}

в Drupal 7

// Overriding html.tpl.php $head array meta Content-Type tag for Drupal 7 to htm5 standrts
function НАЗВАНИЕВАШЕЙТЕМЫ_html_head_alter(&$head_elements) {
	$head_elements['system_meta_content_type']['#attributes'] = array(
		'charset' => 'utf-8'
	);
}

...Кстати
Используя функцию http://php.net/manual/en/function.print-r.php можно разложить массив $head_elements на его составляющие

<?php print_r($head_elements); ?>

и прозвести над ними каккие-нибудь действия, например убрать мета тег

<meta name="generator" content="Drupal 7 (http://drupal.org)" />

таким образом:

// Remove a tag from the head in Drupal 7
function НАЗВАНИЕВАШЕЙТЕМЫ_html_head_alter(&$head_elements) {
	unset($head_elements['system_meta_generator']);
}
Данная публикация старше 4-х лет. Возможно существуют более рациональные способы решения рассматриваемой задачи или вопроса.

Выразить благодарность

Если эта публикация оказалась для Вас полезной и вы хотите выразить свою благодарность, сделайте пожалуйста её репост в социальных сетях или на своём сайте.

Так же, Вы можете перевести любую сумму, которую посчитаете нужной на наш счёт, что сильно мотивирует к написанию новых полезных статей.

Комментарии: