Merge pull request #698 from openclassify/dia

#2256 base theme cat links are not seo friendly
This commit is contained in:
Fatih Alp 2020-10-06 13:17:13 +03:00 committed by GitHub
commit 4601ca0c8c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 85 additions and 34 deletions

View File

@ -7,8 +7,8 @@ return [
'catalog_mode' => [ 'catalog_mode' => [
'title' => 'visiosoft.theme.base::section.catalog_mode.name', 'title' => 'visiosoft.theme.base::section.catalog_mode.name',
'fields' => [ 'fields' => [
'navigation_title', 'navigation_action', 'date_fields', 'price_fields', 'home_page_sub_categories_limit', 'navigation_title', 'navigation_action', 'date_fields',
'breadcrumbs', 'ad_details', 'ad_details_tab', 'latest_and_view_all_btn', 'price_fields', 'breadcrumbs', 'ad_details', 'ad_details_tab', 'latest_and_view_all_btn',
'register_page_instruction_logo', 'register_page_alert_link' 'register_page_instruction_logo', 'register_page_alert_link'
], ],
], ],

View File

@ -62,6 +62,12 @@ return [
"default_value" => "/", "default_value" => "/",
] ]
], ],
"home_page_sub_categories_limit" => [
"type" => "anomaly.field_type.integer",
"config" => [
"default_value" => 5,
]
],
'style' => [ 'style' => [
'type' => 'anomaly.field_type.editor', 'type' => 'anomaly.field_type.editor',
], ],

View File

@ -0,0 +1,3 @@
$('.show-all').on('click', function () {
$(this).siblings('.hidden-category').toggleClass('hidden')
})

View File

@ -10,4 +10,5 @@ return [
'reset_password' => 'Reset Password', 'reset_password' => 'Reset Password',
'email' => 'Email', 'email' => 'Email',
'phone' => 'Phone', 'phone' => 'Phone',
'show_all' => 'Show All',
]; ];

View File

@ -37,4 +37,7 @@ return [
'style' => [ 'style' => [
'name' => 'Style(CSS)', 'name' => 'Style(CSS)',
], ],
'home_page_sub_categories_limit' => [
'name' => 'Homepage Sub Categories Limit',
],
]; ];

View File

@ -0,0 +1,42 @@
<!doctype html>
<!--[if lt IE 7]>
<html class="nojs ms lt_ie7" lang="{{ config('app.locale') }}"><![endif]-->
<!--[if IE 7]>
<html class="nojs ms ie7" lang="{{ config('app.locale') }}"><![endif]-->
<!--[if IE 8]>
<html class="nojs ms ie8" lang="{{ config('app.locale') }}"><![endif]-->
<!--[if gt IE 8]>
<html class="nojs ms" lang="{{ config('app.locale') }}"><![endif]-->
<html lang="{{ config('app.locale') }}">
<head>
{% include "visiosoft.theme.base::partials/metadata" %}
{% block styles %}{% endblock %}
</head>
<body>
{% include "visiosoft.theme.base::partials/header" %}
{{ addBlock('layouts/default/section')|raw }}
<div>
{% include "visiosoft.theme.base::partials/messages" %}
{% if (request_path() == '/') %}
{% include "visiosoft.theme.base::index/default" %}
{% else %}
{% block content %}{% endblock %}
{% endif %}
</div>
{% include "visiosoft.theme.base::partials/footer" %}
{% include "visiosoft.theme.base::partials/assets" %}
{% include "visiosoft.theme.base::partials/settings" %}
</body>
</html>

View File

@ -14,6 +14,7 @@
{{ asset_add("theme.js", "visiosoft.theme.base::js/phonefield.js") }} {{ asset_add("theme.js", "visiosoft.theme.base::js/phonefield.js") }}
{{ asset_add("theme.js", "visiosoft.theme.base::js/jquery.inputmask.bundle.min.js") }} {{ asset_add("theme.js", "visiosoft.theme.base::js/jquery.inputmask.bundle.min.js") }}
{{ asset_add("theme.js", "visiosoft.theme.base::js/lazy-loading.js") }} {{ asset_add("theme.js", "visiosoft.theme.base::js/lazy-loading.js") }}
{{ asset_add("theme.js", "visiosoft.theme.base::js/script.js") }}
{# Theme Scripts #} {# Theme Scripts #}
{#{{ asset_add("theme.js", "visiosoft.theme.base::js/plugins/*") }}#} {#{{ asset_add("theme.js", "visiosoft.theme.base::js/plugins/*") }}#}

View File

@ -2,15 +2,9 @@
<ul class="categories-list px-0 mr-2 d-block d-sm-none"> <ul class="categories-list px-0 mr-2 d-block d-sm-none">
<li class="categories-list-li category-icon text-truncate category-{{ main_category.slug }}"> <li class="categories-list-li category-icon text-truncate category-{{ main_category.slug }}">
<a href="{{ url_route('visiosoft.module.advs::list') }}?cat={{ main_category.id }}" <a href="{{ url_route('adv_list_seo', [main_category.slug]) }}" class="main-category">
class="main-category"> {% set catIcon = main_category.icon.path != "" ? url('files/' ~ main_category.icon.path) : img('visiosoft.theme.base::images/default-categories-icon.png').url %}
{% if main_category.icon.path != "" %} <img src="{{ catIcon) }}" alt="{{ main_category.name }}" class="img-responsive">
<img src="{{ url('files/' ~ main_category.icon.path) }}" alt="{{ main_category.name }}"
class="img-responsive">
{% else %}
<img src="{{ img('visiosoft.theme.base::images/default-categories-icon.png').url }}" alt="{{ main_category.name }}"
class="img-responsive">
{% endif %}
<span>{{ main_category.name }}</span> <span>{{ main_category.name }}</span>
<p class="p-0 sub-categories"> <p class="p-0 sub-categories">
{% set sub_categories = entries('cats','category').where('parent_category_id', main_category.id).where('deleted_at', null).orderBy('sort_order').get() %} {% set sub_categories = entries('cats','category').where('parent_category_id', main_category.id).where('deleted_at', null).orderBy('sort_order').get() %}

View File

@ -1,34 +1,35 @@
{% set sub_categories_limit = setting_value('visiosoft.theme.base::home_page_sub_categories_limit') %} {% set sub_categories_limit = setting_value('visiosoft.theme.base::home_page_sub_categories_limit') %}
<ul class="categories-list p-0 d-none d-sm-block"> <ul class="categories-list p-0 d-none d-sm-block">
<li class="categories-list-li category-icon category-{{ main_category.slug }}"> <li class="categories-list-li category-icon category-{{ main_category.slug }}">
{% if main_category.icon.path != "" %} {% set catIcon = main_category.icon.path != "" ? url('files/' ~ main_category.icon.path) : img('visiosoft.theme.base::images/default-categories-icon.png').url %}
<img src="{{ url('files/' ~ main_category.icon.path) }}" alt="{{ main_category.name }}" <img src="{{ catIcon }}" alt="{{ main_category.name }}" class="img-responsive">
class="img-responsive"> <a href="{{ url_route('adv_list_seo', [main_category.slug]) }}" class="main-category">
{% else %}
<img src="{{ img('visiosoft.theme.base::images/default-categories-icon.png').url }}"
alt="{{ main_category.name }}"
class="img-responsive">
{% endif %}
<a href="{{ url_route('visiosoft.module.advs::list') }}?cat={{ main_category.id }}"
class="main-category">
<b>{{ main_category.name }}</b> <b>{{ main_category.name }}</b>
</a> </a>
<ul class="p-0" style=""> <ul class="p-0">
{% set sub_categories = entries('cats','category').where('parent_category_id', main_category.id).where('deleted_at', null).orderBy('sort_order').get() %} {% set sub_categories = entries('cats','category').where('parent_category_id', main_category.id).where('deleted_at', null).orderBy('sort_order').get() %}
{% for sub_category in sub_categories|slice(0,sub_categories_limit) %} {% set subCatLoop = [
<li> {
<a href="{{ url_route('visiosoft.module.advs::list') }}?cat={{ sub_category.id }}" 'start': 0,
class="">{{ sub_category.name }}</a> 'end': sub_categories_limit,
</li> 'class': '',
{% endfor %} },
{% for sub_category in sub_categories|slice(sub_categories_limit,count(sub_categories)) %} {
<li class="hidden hidden-category"> 'start': sub_categories_limit,
<a href="{{ url_route('visiosoft.module.advs::list') }}?cat={{ sub_category.id }}" 'end': count(sub_categories),
class="">{{ sub_category.name }}</a> 'class': 'hidden hidden-category',
</li> }
] %}
{% for subLoop in subCatLoop %}
{% for sub_category in sub_categories|slice(subLoop.start, subLoop.end) %}
<li class="{{ subLoop.class }}">
<a href="{{ url_route('adv_list_seo', [sub_category.slug]) }}">{{ sub_category.name }}</a>
</li>
{% endfor %}
{% endfor %} {% endfor %}
{% if count(sub_categories) > sub_categories_limit %} {% if count(sub_categories) > sub_categories_limit %}
<li class="show-all"> <li class="show-all" data-limit="{{ sub_categories_limit }}">
<a> <a>
{{ trans('visiosoft.theme.base::button.show_all') }} {{ trans('visiosoft.theme.base::button.show_all') }}
<i class="fas fa-arrow-circle-down"></i> <i class="fas fa-arrow-circle-down"></i>