diff --git a/addons/default/visiosoft/base-theme/resources/config/settings/sections.php b/addons/default/visiosoft/base-theme/resources/config/settings/sections.php
index 15226e51e..950b34146 100644
--- a/addons/default/visiosoft/base-theme/resources/config/settings/sections.php
+++ b/addons/default/visiosoft/base-theme/resources/config/settings/sections.php
@@ -7,8 +7,8 @@ return [
'catalog_mode' => [
'title' => 'visiosoft.theme.base::section.catalog_mode.name',
'fields' => [
- 'navigation_title', 'navigation_action', 'date_fields', 'price_fields',
- 'breadcrumbs', 'ad_details', 'ad_details_tab', 'latest_and_view_all_btn',
+ 'home_page_sub_categories_limit', 'navigation_title', 'navigation_action', 'date_fields',
+ 'price_fields', 'breadcrumbs', 'ad_details', 'ad_details_tab', 'latest_and_view_all_btn',
'register_page_instruction_logo', 'register_page_alert_link'
],
],
diff --git a/addons/default/visiosoft/base-theme/resources/config/settings/settings.php b/addons/default/visiosoft/base-theme/resources/config/settings/settings.php
index 7a8060004..791e3a74b 100644
--- a/addons/default/visiosoft/base-theme/resources/config/settings/settings.php
+++ b/addons/default/visiosoft/base-theme/resources/config/settings/settings.php
@@ -62,6 +62,12 @@ return [
"default_value" => "/",
]
],
+ "home_page_sub_categories_limit" => [
+ "type" => "anomaly.field_type.integer",
+ "config" => [
+ "default_value" => 5,
+ ]
+ ],
'style' => [
'type' => 'anomaly.field_type.editor',
],
diff --git a/addons/default/visiosoft/base-theme/resources/js/script.js b/addons/default/visiosoft/base-theme/resources/js/script.js
new file mode 100644
index 000000000..9ea7da4e6
--- /dev/null
+++ b/addons/default/visiosoft/base-theme/resources/js/script.js
@@ -0,0 +1,3 @@
+$('.show-all').on('click', function () {
+ $(this).siblings('.hidden-category').toggleClass('hidden')
+})
\ No newline at end of file
diff --git a/addons/default/visiosoft/base-theme/resources/lang/en/button.php b/addons/default/visiosoft/base-theme/resources/lang/en/button.php
index cffe38ff9..31f2b7e44 100644
--- a/addons/default/visiosoft/base-theme/resources/lang/en/button.php
+++ b/addons/default/visiosoft/base-theme/resources/lang/en/button.php
@@ -10,4 +10,5 @@ return [
'reset_password' => 'Reset Password',
'email' => 'Email',
'phone' => 'Phone',
+ 'show_all' => 'Show All',
];
\ No newline at end of file
diff --git a/addons/default/visiosoft/base-theme/resources/lang/en/setting.php b/addons/default/visiosoft/base-theme/resources/lang/en/setting.php
index 286403eb3..f927a8a08 100644
--- a/addons/default/visiosoft/base-theme/resources/lang/en/setting.php
+++ b/addons/default/visiosoft/base-theme/resources/lang/en/setting.php
@@ -37,4 +37,7 @@ return [
'style' => [
'name' => 'Style(CSS)',
],
+ 'home_page_sub_categories_limit' => [
+ 'name' => 'Homepage Sub Categories Limit',
+ ],
];
\ No newline at end of file
diff --git a/addons/default/visiosoft/base-theme/resources/views/layouts/no-container.twig b/addons/default/visiosoft/base-theme/resources/views/layouts/no-container.twig
new file mode 100644
index 000000000..20fe9b629
--- /dev/null
+++ b/addons/default/visiosoft/base-theme/resources/views/layouts/no-container.twig
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+ {% include "visiosoft.theme.base::partials/metadata" %}
+ {% block styles %}{% endblock %}
+
+
+
+
+{% include "visiosoft.theme.base::partials/header" %}
+
+{{ addBlock('layouts/default/section')|raw }}
+
+
+
+ {% include "visiosoft.theme.base::partials/messages" %}
+
+ {% if (request_path() == '/') %}
+ {% include "visiosoft.theme.base::index/default" %}
+ {% else %}
+ {% block content %}{% endblock %}
+ {% endif %}
+
+
+
+{% include "visiosoft.theme.base::partials/footer" %}
+{% include "visiosoft.theme.base::partials/assets" %}
+{% include "visiosoft.theme.base::partials/settings" %}
+
+
+
\ No newline at end of file
diff --git a/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig b/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig
index dbd77489b..48582c6d5 100644
--- a/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig
+++ b/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig
@@ -14,6 +14,7 @@
{{ 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/lazy-loading.js") }}
+{{ asset_add("theme.js", "visiosoft.theme.base::js/script.js") }}
{# Theme Scripts #}
{#{{ asset_add("theme.js", "visiosoft.theme.base::js/plugins/*") }}#}
diff --git a/addons/default/visiosoft/base-theme/resources/views/partials/categories-mobile.twig b/addons/default/visiosoft/base-theme/resources/views/partials/categories-mobile.twig
index b2ce5c599..857d5ef22 100644
--- a/addons/default/visiosoft/base-theme/resources/views/partials/categories-mobile.twig
+++ b/addons/default/visiosoft/base-theme/resources/views/partials/categories-mobile.twig
@@ -2,15 +2,9 @@
-
-
- {% if main_category.icon.path != "" %}
-
- {% else %}
-
- {% endif %}
+
+ {% set catIcon = main_category.icon.path != "" ? url('files/' ~ main_category.icon.path) : img('visiosoft.theme.base::images/default-categories-icon.png').url %}
+
{{ main_category.name }}
{% set sub_categories = entries('cats','category').where('parent_category_id', main_category.id).where('deleted_at', null).orderBy('sort_order').get() %}
diff --git a/addons/default/visiosoft/base-theme/resources/views/partials/categories-web.twig b/addons/default/visiosoft/base-theme/resources/views/partials/categories-web.twig
index 9e47154ed..7335b7d0a 100644
--- a/addons/default/visiosoft/base-theme/resources/views/partials/categories-web.twig
+++ b/addons/default/visiosoft/base-theme/resources/views/partials/categories-web.twig
@@ -1,34 +1,35 @@
{% set sub_categories_limit = setting_value('visiosoft.theme.base::home_page_sub_categories_limit') %}
-
- {% if main_category.icon.path != "" %}
-
- {% else %}
-
- {% endif %}
-
+ {% set catIcon = main_category.icon.path != "" ? url('files/' ~ main_category.icon.path) : img('visiosoft.theme.base::images/default-categories-icon.png').url %}
+
+
{{ main_category.name }}
-
+
{% 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) %}
- -
- {{ sub_category.name }}
-
- {% endfor %}
- {% for sub_category in sub_categories|slice(sub_categories_limit,count(sub_categories)) %}
- -
- {{ sub_category.name }}
-
+ {% set subCatLoop = [
+ {
+ 'start': 0,
+ 'end': sub_categories_limit,
+ 'class': '',
+ },
+ {
+ 'start': sub_categories_limit,
+ 'end': count(sub_categories),
+ 'class': 'hidden hidden-category',
+ }
+ ] %}
+ {% for subLoop in subCatLoop %}
+ {% for sub_category in sub_categories|slice(subLoop.start, subLoop.end) %}
+ -
+ {{ sub_category.name }}
+
+ {% endfor %}
{% endfor %}
+
{% if count(sub_categories) > sub_categories_limit %}
- -
+
-
{{ trans('visiosoft.theme.base::button.show_all') }}