Refine header language switcher and align i18n search routes
This commit is contained in:
8
mandelstudio/settings/env/prd.py
vendored
8
mandelstudio/settings/env/prd.py
vendored
@@ -1,3 +1,5 @@
|
||||
import os
|
||||
|
||||
from ..base import * # pylint:disable=W0401,W0614
|
||||
|
||||
try:
|
||||
@@ -20,4 +22,10 @@ if "salt_target" in globals():
|
||||
ALLOWED_HOSTS.append("mandelstudio.%s" % salt_target) # pylint: disable=E0602
|
||||
# pylint: disable=E0602
|
||||
WAGTAILSEARCH_BACKENDS["default"]["URLS"] = ["https://search.mandelblog.com:9200"]
|
||||
WAGTAILSEARCH_BACKENDS["default"].setdefault("OPTIONS", {})
|
||||
WAGTAILSEARCH_BACKENDS["default"]["OPTIONS"]["verify_certs"] = False
|
||||
if os.getenv("OSCAR_ELASTICSEARCH_API_KEY"):
|
||||
WAGTAILSEARCH_BACKENDS["default"]["OPTIONS"]["api_key"] = os.getenv(
|
||||
"OSCAR_ELASTICSEARCH_API_KEY"
|
||||
)
|
||||
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
<link rel="preconnect" href="https://www.google-analytics.com/">
|
||||
{% endif %}
|
||||
{{ block.super }}
|
||||
<link rel="stylesheet" href="{% static 'mandelstudio/css/header-overrides.css' %}">
|
||||
<style>
|
||||
header .header-right { display: flex; align-items: center; gap: .5rem; }
|
||||
header .header-right .language-dropdown,
|
||||
|
||||
@@ -14,14 +14,7 @@
|
||||
aria-expanded="false"
|
||||
aria-label="{% trans 'Language switcher' %}"
|
||||
>
|
||||
<svg class="language-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" aria-hidden="true" focusable="false">
|
||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="9" />
|
||||
<path d="M3 12h18" />
|
||||
<path d="M12 3c3 3.5 3 14.5 0 18" />
|
||||
<path d="M12 3c-3 3.5-3 14.5 0 18" />
|
||||
</g>
|
||||
</svg>
|
||||
<i class="fa fa-globe language-icon" aria-hidden="true"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="header-language-switcher">
|
||||
{% for language in languages %}
|
||||
|
||||
@@ -13,4 +13,3 @@
|
||||
{% include "oxyan/headers/partials/mini_in_basket.html" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ from ocyan.core.fender import config
|
||||
from ocyan.main.urls import urlpatterns as ocyan_urlpatterns
|
||||
from ocyan.plugin.contact_form.entrypoint import SHOP_BASE_URL
|
||||
from ocyan.plugin.wagtail_oscar_integration.constants import CACHE_DURATION
|
||||
from ocyan.plugin.wordspinner.views.ai_search import ai_search_view
|
||||
|
||||
from contact_form.views import post_contact_form
|
||||
|
||||
@@ -35,12 +36,31 @@ contact_form_urlpatterns = [
|
||||
),
|
||||
]
|
||||
|
||||
# Ensure public AI search routes are resolved before Wagtail catch-all URLs.
|
||||
ai_search_urlpatterns = [
|
||||
path("ai-search/", ai_search_view, name="wordspinner_ai_search_public"),
|
||||
path("smart-search/", ai_search_view, name="wordspinner_smart_search_public"),
|
||||
path("wordspinner/ai-search/", ai_search_view, name="wordspinner_ai_search"),
|
||||
path("<str:lang_code>/ai-search/", ai_search_view, name="wordspinner_ai_search_i18n"),
|
||||
path(
|
||||
"<str:lang_code>/smart-search/",
|
||||
ai_search_view,
|
||||
name="wordspinner_smart_search_i18n",
|
||||
),
|
||||
path(
|
||||
"<str:lang_code>/wordspinner/ai-search/",
|
||||
ai_search_view,
|
||||
name="wordspinner_ai_search_nested_i18n",
|
||||
),
|
||||
]
|
||||
|
||||
if config.i18n_enabled:
|
||||
urlpatterns += i18n_patterns(
|
||||
*contact_form_urlpatterns,
|
||||
*ai_search_urlpatterns,
|
||||
prefix_default_language=False,
|
||||
)
|
||||
else:
|
||||
urlpatterns += contact_form_urlpatterns
|
||||
urlpatterns += contact_form_urlpatterns + ai_search_urlpatterns
|
||||
|
||||
urlpatterns += ocyan_urlpatterns
|
||||
|
||||
Reference in New Issue
Block a user