Проверка на ноды

Главные вкладки

Аватар пользователя Pixelbroks Pixelbroks 18 октября 2014 в 16:52

Добрый день ув. Форумчане, прошу помощи с задачей. Думаю для вас не сложная будет, а я голову сломал просто.

И так :
Изначально требуется убрать канонические ссылки - нашел.

<?phpfunction Имя темы_html_head_alter(&$head_elements) {
  foreach ($head_elements as $key => $element) {
    if (isset($element['#attributes']['rel']) && $element['#attributes']['rel'] == 'shortlink') {
      unset($head_elements[$key]);
    }
  }
}
?>

Но ссылки нужно убрать не со всех страниц , а с определенных. Сделал вывод что требуется составить некое условия с проверками на "node/nid" либо некий аргумент в выражение if внути цилка. В этом и заключается вся беда.

Что то вроде такаого (просто наглядный вариант что бы все поняли)

<?php
if ($node->nid == && $node->nid == && $node->nid == 1542) { 
//Если айди ноды равно 1
unset($head_elements[$key]);
}
?>

Вот, заранее спасибо большое.

Комментарии

Аватар пользователя Pixelbroks Pixelbroks 18 октября 2014 в 19:12

Спасибо, но совсем не приближает к ответу. Как я тоьлко не подставлял . У меня просто знаний не хватет. Можете пожалуйсто хотябы пример условия дать? Совсем простое. Спасибо. Потому что я находил только

<?php  if (arg(0) == 'node' && is_numeric(arg(1))) {

}

?>

Но как только не подставлял, толку 0

Аватар пользователя Moel Moel 18 октября 2014 в 19:54

Используй девел и dpm проследи все что тебе нужно. Так очень сложно тебе подсказать. Может ты условие не туда вставляешь или еще чего. У тебя получилось убрать ссылки без условий? Может у тебя вообще в этом контексте нет переменной node.

Аватар пользователя Pixelbroks Pixelbroks 18 октября 2014 в 23:32

Вопрос почти снят. Результат:

<?php
function bootstrap_html_head_alter(&$head_elements) {
  foreach (
$head_elements as $key => $element) {
    if (isset(
$element['#attributes']['rel']) && $element['#attributes']['rel'] == 'shortlink' && arg(1) == '3' || isset($element['#attributes']['rel']) && $element['#attributes']['rel'] == 'shortlink' && arg(1) == '1') {
    unset(
$head_elements[$key]);
    }
}
}
?>

Осталось только укоротить