mirror of
https://github.com/openclassify/openclassify.git
synced 2026-01-11 18:01:10 -06:00
remove page params for change category
This commit is contained in:
parent
419d4ce0e5
commit
6381dcc53a
@ -11,16 +11,18 @@ class appendRequestURL
|
||||
protected $request;
|
||||
protected $url;
|
||||
protected $new_parameters;
|
||||
protected $remove_parameters;
|
||||
|
||||
/**
|
||||
* appendRequestURL constructor.
|
||||
* @param $request
|
||||
*/
|
||||
public function __construct($request, $url, $new_parameters = [])
|
||||
public function __construct($request, $url, $new_parameters = [], $remove_parameters = [])
|
||||
{
|
||||
$this->url = $url;
|
||||
$this->request = $request;
|
||||
$this->new_parameters = $new_parameters;
|
||||
$this->remove_parameters = $remove_parameters;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -28,20 +30,23 @@ class appendRequestURL
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
if (count($this->new_parameters) === 0 && count($this->request) === 0) {
|
||||
|
||||
$request = $this->removeParameters($this->request);
|
||||
|
||||
if (count($this->new_parameters) === 0 && count($request) === 0) {
|
||||
return $this->url;
|
||||
} elseif (count($this->new_parameters) > 0 && count($this->request) > 0) {
|
||||
} elseif (count($this->new_parameters) > 0 && count($request) > 0) {
|
||||
return $this->url
|
||||
. (Str::contains($this->url, '?') ? '&' : '?')
|
||||
. Arr::query($this->appends(array_merge($this->request, $this->new_parameters)));
|
||||
} elseif (count($this->new_parameters) > 0 && count($this->request) === 0) {
|
||||
. Arr::query($this->appends(array_merge($request, $this->new_parameters)));
|
||||
} elseif (count($this->new_parameters) > 0 && count($request) === 0) {
|
||||
return $this->url
|
||||
. (Str::contains($this->url, '?') ? '&' : '?')
|
||||
. Arr::query($this->appends($this->new_parameters));
|
||||
} elseif (count($this->new_parameters) === 0 && count($this->request) > 0) {
|
||||
} elseif (count($this->new_parameters) === 0 && count($request) > 0) {
|
||||
return $this->url
|
||||
. (Str::contains($this->url, '?') ? '&' : '?')
|
||||
. Arr::query($this->appends($this->request));
|
||||
. Arr::query($this->appends($request));
|
||||
}
|
||||
}
|
||||
|
||||
@ -87,4 +92,13 @@ class appendRequestURL
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function removeParameters(array $array)
|
||||
{
|
||||
foreach ($this->remove_parameters as $parameter) {
|
||||
unset($array[$parameter]);
|
||||
}
|
||||
|
||||
return $array;
|
||||
}
|
||||
}
|
||||
|
||||
@ -57,9 +57,9 @@ class AdvsModulePlugin extends Plugin
|
||||
),
|
||||
new \Twig_SimpleFunction(
|
||||
'appendRequestURL',
|
||||
function ($request, $url, $new_parameters) {
|
||||
function ($request, $url, $new_parameters, $removeParams = []) {
|
||||
|
||||
return $this->dispatch(new appendRequestURL($request, $url, $new_parameters));
|
||||
return $this->dispatch(new appendRequestURL($request, $url, $new_parameters, $removeParams));
|
||||
}
|
||||
),
|
||||
new \Twig_SimpleFunction(
|
||||
|
||||
@ -29,9 +29,9 @@
|
||||
{% set citySlug = pathInfo[3] %}
|
||||
{% endif %}
|
||||
<a href="{% if(viewType != "map") %}
|
||||
{{ appendRequestURL(request_query(),url_route('adv_list_seo', [catId.slug, citySlug]),{}) }}
|
||||
{{ appendRequestURL(request_query(),url_route('adv_list_seo', [catId.slug, citySlug]),{},['page']) }}
|
||||
{% else %}
|
||||
{{ appendRequestURL(request_query(),url_route('advs_map_list'),{'cat':id}) }}
|
||||
{{ appendRequestURL(request_query(),url_route('advs_map_list'),{'cat':id},['page']) }}
|
||||
{% endif %}" class="list-group-item list-group-item-action text-truncate">
|
||||
<i class="fas fa-dot-circle"></i>
|
||||
{{ name }}
|
||||
@ -41,9 +41,9 @@
|
||||
{% if subcat.parent_category_id == maincat['id'] %}
|
||||
{% set subCatId = entries('cats', 'category').find(subcat.id) %}
|
||||
<a href="{% if(viewType != "map") %}
|
||||
{{ appendRequestURL(request_query(),url_route('adv_list_seo', [subCatId.slug, citySlug]),{}) }}
|
||||
{{ appendRequestURL(request_query(),url_route('adv_list_seo', [subCatId.slug, citySlug]),{},['page']) }}
|
||||
{% else %}
|
||||
{{ appendRequestURL(request_query(),url_route('advs_map_list'),{'cat':subcat.id}) }}
|
||||
{{ appendRequestURL(request_query(),url_route('advs_map_list'),{'cat':subcat.id},['page']) }}
|
||||
{% endif %}" class="list-group-item list-group-item-action text-truncate">
|
||||
{{ subcat.name }}
|
||||
</a>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user