Files
ave-cms/help/helpers/Url.md
T
2026-07-27 12:58:44 +03:00

2.3 KiB

Url — ссылки и редиректы

App\Helpers\Url — построение ссылок, ЧПУ-преобразование, сбор целей редиректа.

use App\Helpers\Url;

Большинство методов возвращают строку-ссылку — они не выполняют переход сами. Сам редирект делайте через Request::redirect($url) / заголовок Location.


Построение ссылок

to($path = '')

Нормализованный путь от корня сайта (всегда с ведущим /).

Url::to('catalog/products');   // '/catalog/products'
Url::to('/media');             // '/media'

asset($path) — то же, что to() (для статики).

uploads($path = '')

Ссылка в каталог загрузок (базой служит константа UPLOAD_URL, по умолчанию /uploads).

Url::uploads('articles/doc_37/1.jpg');   // '/uploads/articles/doc_37/1.jpg'

site() / home()

Базовый URL сайта / ссылка на главную.


ЧПУ и нормализация

rewrite($value)

ЧПУ-преобразование значения — работает только если включён REWRITE_MODE, иначе возвращает значение как есть.

prepare($url) / prepareUrl($url) — нормализовать URL.

canonical($url) — canonical-ссылку.


Редиректы и реферер

Метод Возврат
redirect($exclude = '') Строка-цель редиректа (можно исключить параметр).
getRedirectLink($exclude = '') То же, без побочных эффектов.
referer() / getRefererLink() Реферер.
printLink() Ссылка версии для печати.
$back = Url::getRedirectLink();
// затем выполнить переход:
Request::redirect($back);

Рецепты

Ссылка на изображение товара в шаблоне:

$img = Url::uploads($product['image']);

Кнопка «назад» после действия:

Request::redirect(Url::getRefererLink() ?: Url::home());