Приводим вид мета-тега Content-Type к стандартам HTML5 в Drupal 6 и Drupal 7


17:26, 19/03/2018

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

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

Если бы речь шла о чем-то не под названием 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(
    '',
    '',
    $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 на его составляющие

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

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

// Remove a tag from the head in Drupal 7
function НАЗВАНИЕВАШЕЙТЕМЫ_html_head_alter(&$head_elements) {
    unset($head_elements['system_meta_generator']);
}


Комментарии