Проверьте, является ли страница узлом, используя аргументы в D7
В Drupal 6, чтобы проверить, является ли текущая страница узлом, мы используем следующий фрагмент кода:
if (arg(0)=='node' && is_numeric(arg(1))) { /* Do stuff. */ }
Поскольку это часто используемое утверждение, мне интересно, есть ли более короткий способ сделать это в Drupal 7, например, что-то похожее на следующее:
if (is_node()) { /* Do stuff. */ }
1 answers
На самом деле, есть функция, которая доступна и в Drupal 6: menu_get_object()
. Со значениями по умолчанию он вернет объект узла, если URL-адрес текущей страницы начинается с узла/[идентификатор узла] (где [идентификатор узла] является идентификатором узла), и FALSE
в других случаях; функция особенно полезна, если после проверки того, что текущая страница является страницей узла, вам также необходимо получить доступ к объекту узла, связанному со страницей, и вызывающая функция menu_get_object()
не получает объект узла. объект узла между его аргументами.
В Drupal 7 есть также другая функция, но ее цель - просто проверить, является ли текущая просматриваемая страница полным представлением страницы узла, переданного в качестве аргумента: node_is_page()
.