Laravel 5.4 - 如何防止 URL 中的更改更改下拉菜单的标题?
Laravel 5.4 - How can I prevent a change in my URL from changing the titles of my drop down menus?
我正在使用 Laravel 5.4 并且我试图阻止 URL 中的任何更改更改下拉菜单的标题。
例如,当我单击其中一个下拉菜单时,URL 应该更改 (my_site.app/dropdown/
) 并且下拉菜单的标题应该更改以显示选中的项目。 但我 运行 遇到的问题是我可以在 URL 中输入 任何内容 并且下拉菜单的标题会更改为输入 URL. 我想要这样 只有 可以显示和使用正确的下拉项目,否则我希望菜单转到默认 'all'
.
这是来自我的控制器的相关代码:
public function setFilters( $request, $defaultFilter=null)
{
if ($defaultFilter) {
$filters['audience'] = 'all';
$filters['category'] = 'all';
return $filters;
}
$isAudience = Audiences::select()->where('type', '=', $request->segment(1))->get();
if ( !empty($isAudience) ) {
$filters['audience'] = strtolower( $request->segment(1) );
}
else {
$filters['audience'] = 'all';
}
if ( !empty($request->segment(2)) ) {
$filters['category'] = strtolower( $request->segment(2) );
}
else {
$filters['category'] = 'all';
}
return $filters;
}
有谁知道我可以做些什么来避免这个问题?如果需要任何其他信息,请告诉我。
我的建议是为这些链接创建一个控制器,例如 PagesController 并执行 if 语句来控制 url。在标签中指定下拉选项并为每个 URL 执行 if 语句,以及 else 语句以抛出任何错误,除非有人直接在 URL 中键入选项。
我正在使用 Laravel 5.4 并且我试图阻止 URL 中的任何更改更改下拉菜单的标题。
例如,当我单击其中一个下拉菜单时,URL 应该更改 (my_site.app/dropdown/
) 并且下拉菜单的标题应该更改以显示选中的项目。 但我 运行 遇到的问题是我可以在 URL 中输入 任何内容 并且下拉菜单的标题会更改为输入 URL. 我想要这样 只有 可以显示和使用正确的下拉项目,否则我希望菜单转到默认 'all'
.
这是来自我的控制器的相关代码:
public function setFilters( $request, $defaultFilter=null)
{
if ($defaultFilter) {
$filters['audience'] = 'all';
$filters['category'] = 'all';
return $filters;
}
$isAudience = Audiences::select()->where('type', '=', $request->segment(1))->get();
if ( !empty($isAudience) ) {
$filters['audience'] = strtolower( $request->segment(1) );
}
else {
$filters['audience'] = 'all';
}
if ( !empty($request->segment(2)) ) {
$filters['category'] = strtolower( $request->segment(2) );
}
else {
$filters['category'] = 'all';
}
return $filters;
}
有谁知道我可以做些什么来避免这个问题?如果需要任何其他信息,请告诉我。
我的建议是为这些链接创建一个控制器,例如 PagesController 并执行 if 语句来控制 url。在标签中指定下拉选项并为每个 URL 执行 if 语句,以及 else 语句以抛出任何错误,除非有人直接在 URL 中键入选项。