Drupal - Панели - использовать варианты в соответствии с NID

Я использую Панели, чтобы перезаписать шаблон узла (узел /% узел). Я хотел бы, чтобы система использовала конкретный вариант при загрузке узла. Например, узел 123 должен использовать вариант A, а узел 223 должен использовать вариант B. Для меня нет возможности определить, что в правилах выбора мне интересно, должен ли я использовать код PHP, и если я это сделаю, как мне поступить о написании кода?

Мне известна возможность использования узла Panels, но при его использовании не существует простого способа редактирования узла, что делает его менее желательным выбором.

2 ответа

Решение

В этом случае проще всего добавить код PHP. Было бы лучше сделать расширение для правил выбора панелей, но в этом случае это может быть немного излишним.

В любом случае что-то вроде

return arg(1) == 123;

должен сделать это.

Возможно, ваша проблема в кеше Drupal / Panel. Я только что проверил, и он отлично работает.

Вам нужно будет сделать что-то вроде этого...

  $nid = 11;
  if (arg(0) == 'node' && arg(1) == $nid && !arg(2)) {
    return true;
  }
  return false;

Будьте внимательны, проверяя только arg(1), как и в предыдущем ответе, который также будет сопоставлять пользователей (user/123) и любой просмотр страницы, который принимает числовой аргумент (article /123).

Другие вопросы по тегам