Site subscriptions show: build self filter links via BackUrl::currentPathWithQuery

This commit is contained in:
萝卜
2026-03-14 22:59:17 +00:00
parent 69edd4261d
commit 1e6e15a4ec

View File

@@ -406,29 +406,14 @@
// 同时href 中会包含多个 query 参数,必须使用 `{!! !!}` 原样输出,避免 `&` 被转义为 `&`。
// $safeBackForLinks 已在页头统一按 BackUrl::sanitizeForLinks 计算。
$baseQuery = request()->query();
unset($baseQuery['order_sync_status']);
// 构造“订阅详情页自身”的筛选链接:统一走 BackUrl::currentPathWithQuery减少手写拼接与口径漂移。
// 目标:保留 back安全过滤后+ 保留其它 query 上下文 + 覆盖/移除 order_sync_status
$makeSelfFilterUrl = function (?string $orderSyncStatus) use ($safeBackForLinks) {
$v = ($orderSyncStatus !== null && $orderSyncStatus !== '') ? $orderSyncStatus : null;
if ($safeBackForLinks !== '') {
$baseQuery['back'] = $safeBackForLinks;
} else {
unset($baseQuery['back']);
}
$makeSelfFilterUrl = function (?string $orderSyncStatus) use ($subscription, $baseQuery) {
$q = $baseQuery;
if ($orderSyncStatus !== null && $orderSyncStatus !== '') {
$q['order_sync_status'] = $orderSyncStatus;
} else {
unset($q['order_sync_status']);
}
$url = '/admin/site-subscriptions/' . $subscription->id;
if (count($q) > 0) {
$url .= '?' . \Illuminate\Support\Arr::query($q);
}
return $url;
return \App\Support\BackUrl::currentPathWithQuery([
'order_sync_status' => $v,
], $safeBackForLinks);
};
@endphp