mirror of
https://github.com/avecms/AVE.cms.git
synced 2026-08-01 00:45:44 +00:00
2.3 KiB
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());