Site subscriptions show: build self filter links via BackUrl::currentPathWithQuery
This commit is contained in:
@@ -406,29 +406,14 @@
|
|||||||
// 同时:href 中会包含多个 query 参数,必须使用 `{!! !!}` 原样输出,避免 `&` 被转义为 `&`。
|
// 同时:href 中会包含多个 query 参数,必须使用 `{!! !!}` 原样输出,避免 `&` 被转义为 `&`。
|
||||||
// $safeBackForLinks 已在页头统一按 BackUrl::sanitizeForLinks 计算。
|
// $safeBackForLinks 已在页头统一按 BackUrl::sanitizeForLinks 计算。
|
||||||
|
|
||||||
$baseQuery = request()->query();
|
// 构造“订阅详情页自身”的筛选链接:统一走 BackUrl::currentPathWithQuery,减少手写拼接与口径漂移。
|
||||||
unset($baseQuery['order_sync_status']);
|
// 目标:保留 back(安全过滤后)+ 保留其它 query 上下文 + 覆盖/移除 order_sync_status。
|
||||||
|
$makeSelfFilterUrl = function (?string $orderSyncStatus) use ($safeBackForLinks) {
|
||||||
|
$v = ($orderSyncStatus !== null && $orderSyncStatus !== '') ? $orderSyncStatus : null;
|
||||||
|
|
||||||
if ($safeBackForLinks !== '') {
|
return \App\Support\BackUrl::currentPathWithQuery([
|
||||||
$baseQuery['back'] = $safeBackForLinks;
|
'order_sync_status' => $v,
|
||||||
} else {
|
], $safeBackForLinks);
|
||||||
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;
|
|
||||||
};
|
};
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user