Создание, продвижение сайтов
40-33-54

Получение URL, id страницы материала или термина

06 февраля 2017

Часто нужно узнать id материала, url страницы то где сейчас находишься или что-то подобное.

Рассмотрим несколько простых примеров.

За основу возьмем  две страницы с адресами  node/10  и   taxonomy/term/4

Итак небольшой исходник(дальше по коду будут выводиться результаты, естественно их можно убрать, я про echo):

id страниц

$q=$_GET['q'];
echo 'q='.$q;

/*РЕЗУЛЬТАТ*/
 
//для страницы node/10
q=node/10
 
//для страницы taxonomy/term/4
q=taxonomy/term/4

т.е. переменная $q будет равна node/10 или taxonomy/term/4 соответственно

Сам же id ноды или термина можно получить следующим образом.

$q=$_GET['q'];   $q_id=str_replace('node/','',$q); echo $q_id;   $term_id=str_replace('taxonomy/term/','',$q); echo $term_id;   /*РЕЗУЛЬТАТ*/   //для страницы node/10 10   //для страницы taxonomy/term/4 4

Ещё один метод.

 

if(arg(0))
  {
    $arg_0= arg(0);
    echo 'arg_0='. $arg_0.'<br/>';
    if(arg(1))
    {
      $arg_1= arg(1);
      echo 'arg_1='. $arg_1.'<br/>';
      if(arg(2))
     {
       $arg_2= arg(2);
       echo 'arg_2='. $arg_2.'<br/>';
      }
     }
   }
/*РЕЗУЛЬТАТ*/
 
//для страницы node/10
arg_0=node
arg_1=10
 
//для страницы taxonomy/term/4
arg_0=taxonomy
arg_1=term
arg_2=4

 

Алиас страниц

Просто получить путь страницы этого мало. Если у вас стоит ЧПУ то естественно вы захотите получить удобоваримую ссылку на страницу.

$q=$_GET['q'];
$alias = drupal_get_path_alias($q);
echo $alias;
/*РЕЗУЛЬТАТ*/
 
//для страницы node/10
blog/ckeditor-geshi-filtr
 
//для страницы taxonomy/term/4
blog/tegi/ckeditor

 

Вот мы  и получили URL для своих страниц.

Есть ещё один метод, но он подходит только для простых нод.

В папки вашей тепы в файле node.tpl.php вы всегда можете использовать переменную $node_url.

В нашем примере (для страницы node/10) она будет хранить /blog/ckeditor-geshi-filtr

Вся документация по возможным переменным в файле node.tpl.php тут

Статьи

Сделайте заказ с сайта и получите 10% скидку на услугу

Заказ услуги с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Заказать бесплатную SEO-консультацию

Запрос бесплатной SEO - консультации с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Письмо в компанию Райбин

Письмо в компанию RAYBIN

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.