REST в маршрутах модуля

Аватар пользователя Кришпер

Вот мы создаём обычную ссылку

function my_module_menu(){
$items = array(); // инициализируем массив наших пунктов меню

$items['my-auth'] = array( //добавляем страницу по пути 'page_example'
'title' => 'Пример страницы', //заголовок страницы
'description' => '', //описание страницы
'page callback' => '_my_auth', //функция возвращающая контент страницы
'access callback' => TRUE, // разрешаем всем просматривать эту страницу
'expanded' => TRUE,
);

А как сделать ссылку по правилам рест? То бишь что бы части ссылки были с подстановочными значениями, ну как /user/{id}/add что бы можно было эти значениями в ф-ции контента разобрать?

Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя bumble
bumble 11 месяцев назад

Пожалуйста! Не забывайте оборачивать код.
В таком виде его никто не будет разбирать.

Аватар пользователя bumble
bumble 11 месяцев назад
1

Для динамических путей могут использоваться wildcards, или просто переданные в коллбек аргументы:

<?php
function mymodule_menu() {
  
$items['mypath/%param/%subparam'] = [
    
'page callback' => 'mymodule_page_callback',
    
'page arguments' => [12]
  ];
  
  return 
$items;
}
 
function 
mymodule_page_callback($param$subparam) {}
?>

Так же, получить значение аргумента пути можно ф-цией arg().

Аватар пользователя Кришпер
Кришпер 11 месяцев назад

Огромное спасибо!

Аватар пользователя Кришпер
Кришпер 11 месяцев назад

Bumble , а, пардон, тут вроде не то. Мне надо чтоб с урл шли ссылки, а не так, что бы они были забиты в коде. Опять же, что бы юзер писал user/1 и видел страницу юзера с айди 1, писал 2, видел профиль другого юзера итд итп

Аватар пользователя bumble
bumble 11 месяцев назад

А что не так то?

Аватар пользователя Кришпер
Кришпер 11 месяцев назад

дак тут в коде уже вписаны значения или вместо них будут браться значения из урл и это просто порядоковые номера?
'page arguments' => [1, 2]

Аватар пользователя bumble
bumble 11 месяцев назад
Кришпер написал:
или вместо них будут браться значения из урл и это просто порядоковые номера?

Да, это порядковый номер, стартует от 0.
Это, по сути тоже что и:

<?php
$param 
arg(1);
$subparam arg(2);
?>