D9: FAPI 'link' и Url::fromRoute()->toString(). What the hell?

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

Аватар пользователя OldWarrior OldWarrior 31 мая 2021 в 2:26

Из разряда "Какого дьявола?".

<?php
$form
['somelink'] = [
  
'#type' => 'link',
  
'#title' => '...',
  
'#url' => Url::fromRoute('some.route', ['absolute' => TRUE]),
  ...
];
?>

На выхлопе:

<a href="/someroutepath" absolute="1">...</a>

Обращаю внимание на то, что 'absolute' лежит на верхнем уровне массива, а не внутри 'attributes'.

Однако:

<?php
$form
['somelink'] = [
  
'#type' => 'link',
  
'#title' => '...',
  
'#url' => Url::fromRoute('some.route')->setAbsolute(TRUE),
  ...
];
?>

На выхлопе:

<a href="https://somehost/someroutepath">...</a>

Т.е. "as desired".

Есть мысли?

Лучший ответ

Аватар пользователя marassa marassa 31 мая 2021 в 7:02

absolute это же вроде route option, а не route parameter, т.е. должно передаваться в третьем параметре метода, а не втором?

Комментарии

Аватар пользователя OldWarrior OldWarrior 31 мая 2021 в 8:16

Ну конечно!
Надо завязывать с ночной работой.

Ещё и по памяти код для примера выше написал, там метод toString() вообще-то не нужен. Поправил.

зы: Старею, видимо. )

Спасибо!