Search
@@ -24,5 +24,5 @@ Search
{% block css %}
{{ block.super }}
-
+
{% endblock css %}
From d0d5e00db62ca70a03b14852456e17f36a579269 Mon Sep 17 00:00:00 2001
From: Wesley B <62723358+wesleyboar@users.noreply.github.com>
Date: Tue, 22 Oct 2024 18:19:38 -0500
Subject: [PATCH 05/28] refactor: move css to top of template
So dev sees 'google-search' from CSS before seeing it in HTML `id` attr.
---
taccsite_cms/templates/search.html | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/taccsite_cms/templates/search.html b/taccsite_cms/templates/search.html
index 83bd24eac..75dfd0caa 100644
--- a/taccsite_cms/templates/search.html
+++ b/taccsite_cms/templates/search.html
@@ -1,6 +1,11 @@
{% extends "base.html" %}
{% load static cms_tags %}
+{% block css %}
+ {{ block.super }}
+
+{% endblock css %}
+
{% block cms_content %}
{% placeholder "content" %}
@@ -21,8 +26,3 @@ Search
{% endblock cms_content %}
-
-{% block css %}
- {{ block.super }}
-
-{% endblock css %}
From b74e2a0b9beff5d4bc836d5d9da88b0573d5080f Mon Sep 17 00:00:00 2001
From: Wesley B <62723358+wesleyboar@users.noreply.github.com>
Date: Tue, 22 Oct 2024 18:22:37 -0500
Subject: [PATCH 06/28] fix: missing default GOOGLE_SEARCH_ENGINE_ID
Caused server error.
---
taccsite_cms/_settings/search.py | 2 +-
taccsite_cms/settings_custom.example.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/taccsite_cms/_settings/search.py b/taccsite_cms/_settings/search.py
index 19ba969ab..26ac42c1c 100644
--- a/taccsite_cms/_settings/search.py
+++ b/taccsite_cms/_settings/search.py
@@ -10,7 +10,7 @@
# To support Google search
# PORTAL_SEARCH_QUERY_PARAM_NAME = 'q'
# PORTAL_SEARCH_INDEX_IS_AUTOMATIC = False
-# GOOGLE_SEARCH_ENGINE_ID = None
+GOOGLE_SEARCH_ENGINE_ID = ''
# (DEPRECATED) To support Elasticsearch
PORTAL_SEARCH_QUERY_PARAM_NAME = 'query_string'
diff --git a/taccsite_cms/settings_custom.example.py b/taccsite_cms/settings_custom.example.py
index f509dbff4..379caef2e 100644
--- a/taccsite_cms/settings_custom.example.py
+++ b/taccsite_cms/settings_custom.example.py
@@ -100,7 +100,7 @@
PORTAL_SEARCH_PATH = '/search'
PORTAL_SEARCH_QUERY_PARAM_NAME = 'q'
PORTAL_SEARCH_INDEX_IS_AUTOMATIC = False
-GOOGLE_SEARCH_ENGINE_ID = None
+GOOGLE_SEARCH_ENGINE_ID = ''
########################
# DJANGOCMS_BLOG
From f80ebc8cd5c86f081e87e60bf3671e65c4da3e3a Mon Sep 17 00:00:00 2001
From: Wesley B <62723358+wesleyboar@users.noreply.github.com>
Date: Tue, 22 Oct 2024 19:12:13 -0500
Subject: [PATCH 07/28] feat: search template is standard
---
taccsite_cms/settings.py | 1 +
taccsite_cms/settings_custom.example.py | 2 ++
2 files changed, 3 insertions(+)
diff --git a/taccsite_cms/settings.py b/taccsite_cms/settings.py
index 0f5e53194..c6c733e93 100644
--- a/taccsite_cms/settings.py
+++ b/taccsite_cms/settings.py
@@ -159,6 +159,7 @@ def gettext(s): return s
('fullwidth.html', 'Full Width'),
('guide.html', 'Guide'),
+ ('search.html', 'Search'),
)
CMS_PERMISSION = True
diff --git a/taccsite_cms/settings_custom.example.py b/taccsite_cms/settings_custom.example.py
index 379caef2e..7e01baf64 100644
--- a/taccsite_cms/settings_custom.example.py
+++ b/taccsite_cms/settings_custom.example.py
@@ -33,6 +33,8 @@
('standard.html', 'Standard'),
('fullwidth.html', 'Full Width'),
+ ('search.html', 'Search'),
+
# WARNING: Not intuitive to unset, so only enable as needed e.g.
# - serve Blog such that it can be injected into another CMS
# ('raw.html', 'Raw'),
From 9457519a7d502cd09f7a1e82aa5b083f35011084 Mon Sep 17 00:00:00 2001
From: Wesley B <62723358+wesleyboar@users.noreply.github.com>
Date: Wed, 23 Oct 2024 10:30:47 -0500
Subject: [PATCH 08/28] feat: convert search template into a search app
---
apps/search_page/__init__.py | 0
apps/search_page/apps.py | 5 ++++
apps/search_page/cms_menus.py | 23 +++++++++++++++++++
.../static/search_page}/css/google-search.css | 0
.../templates/search_page/search_page.html | 2 +-
apps/search_page/urls.py | 7 ++++++
apps/search_page/views.py | 8 +++++++
taccsite_cms/_settings/search.py | 3 ++-
taccsite_cms/custom_app_settings.example.py | 3 +++
taccsite_cms/urls_custom.example.py | 4 ++++
10 files changed, 53 insertions(+), 2 deletions(-)
create mode 100644 apps/search_page/__init__.py
create mode 100644 apps/search_page/apps.py
create mode 100644 apps/search_page/cms_menus.py
rename {taccsite_cms/static/site_cms => apps/search_page/static/search_page}/css/google-search.css (100%)
rename taccsite_cms/templates/search.html => apps/search_page/templates/search_page/search_page.html (89%)
create mode 100644 apps/search_page/urls.py
create mode 100644 apps/search_page/views.py
diff --git a/apps/search_page/__init__.py b/apps/search_page/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/search_page/apps.py b/apps/search_page/apps.py
new file mode 100644
index 000000000..fcc89a1f7
--- /dev/null
+++ b/apps/search_page/apps.py
@@ -0,0 +1,5 @@
+from django.apps import AppConfig
+
+
+class SearchPageConfig(AppConfig):
+ name = 'apps.search_page'
diff --git a/apps/search_page/cms_menus.py b/apps/search_page/cms_menus.py
new file mode 100644
index 000000000..274106f26
--- /dev/null
+++ b/apps/search_page/cms_menus.py
@@ -0,0 +1,23 @@
+from menus.base import Menu, NavigationNode
+from menus.menu_pool import menu_pool
+from django.utils.translation import gettext_lazy as _
+
+class SearchPageMenu(Menu):
+
+ def get_nodes(self, request):
+ return [
+ NavigationNode(
+ title=_('Home'),
+ url="/",
+ id=1,
+ visible=False,
+ ),
+ NavigationNode(
+ title=_('Search'),
+ url="/search/",
+ id=2,
+ visible=False,
+ ),
+ ]
+
+menu_pool.register_menu(SearchPageMenu)
diff --git a/taccsite_cms/static/site_cms/css/google-search.css b/apps/search_page/static/search_page/css/google-search.css
similarity index 100%
rename from taccsite_cms/static/site_cms/css/google-search.css
rename to apps/search_page/static/search_page/css/google-search.css
diff --git a/taccsite_cms/templates/search.html b/apps/search_page/templates/search_page/search_page.html
similarity index 89%
rename from taccsite_cms/templates/search.html
rename to apps/search_page/templates/search_page/search_page.html
index 75dfd0caa..d866b719f 100644
--- a/taccsite_cms/templates/search.html
+++ b/apps/search_page/templates/search_page/search_page.html
@@ -3,7 +3,7 @@
{% block css %}
{{ block.super }}
-
+
{% endblock css %}
{% block cms_content %}
diff --git a/apps/search_page/urls.py b/apps/search_page/urls.py
new file mode 100644
index 000000000..8ce105c6e
--- /dev/null
+++ b/apps/search_page/urls.py
@@ -0,0 +1,7 @@
+from django.urls import re_path
+from .views import SearchPageView
+
+app_name = 'search_page'
+urlpatterns = [
+ re_path('', SearchPageView, name='index'),
+]
diff --git a/apps/search_page/views.py b/apps/search_page/views.py
new file mode 100644
index 000000000..2f2bb952a
--- /dev/null
+++ b/apps/search_page/views.py
@@ -0,0 +1,8 @@
+from django.http import HttpResponse
+from django.conf import settings
+from django.template import loader
+
+
+def SearchPageView(request):
+ template = loader.get_template('search_page/search_page.html')
+ return HttpResponse(template.render({}, request))
diff --git a/taccsite_cms/_settings/search.py b/taccsite_cms/_settings/search.py
index 26ac42c1c..dc750e260 100644
--- a/taccsite_cms/_settings/search.py
+++ b/taccsite_cms/_settings/search.py
@@ -35,5 +35,6 @@
ALDRYN_SEARCH_REGISTER_APPHOOK = True
_INSTALLED_APPS = [
- 'haystack', # search index
+ 'haystack', # ElasticSearch
+# 'search_page' # Google Search
]
diff --git a/taccsite_cms/custom_app_settings.example.py b/taccsite_cms/custom_app_settings.example.py
index 4bc48c268..f0568b897 100644
--- a/taccsite_cms/custom_app_settings.example.py
+++ b/taccsite_cms/custom_app_settings.example.py
@@ -3,6 +3,9 @@
# CUSTOM APP
'apps.custom_example',
+ # SEARCH_PAGE
+ 'apps.search_page',
+
# DJANGOCMS_BLOG
'parler',
'taggit',
diff --git a/taccsite_cms/urls_custom.example.py b/taccsite_cms/urls_custom.example.py
index e5a93688e..d82cab459 100644
--- a/taccsite_cms/urls_custom.example.py
+++ b/taccsite_cms/urls_custom.example.py
@@ -1,10 +1,14 @@
from django.urls import re_path, include
+from django.conf import settings
custom_urls = [
# CUSTOM APP
re_path(r'^custom_test/', include('apps.custom_example.urls', namespace='custom_test')),
+ # SEARCH_PAGE
+ re_path(r'^' + settings.PORTAL_SEARCH_PATH.strip('/') + '/', include('apps.search_page.urls', namespace='search')),
+
# DJANGOCMS_BLOG
re_path(r'^taggit_autosuggest/', include('taggit_autosuggest.urls')),
From 16d34c35bde9bbd7a9a6d2c2bbce17d45353f0ea Mon Sep 17 00:00:00 2001
From: Wesley B <62723358+wesleyboar@users.noreply.github.com>
Date: Wed, 23 Oct 2024 11:07:04 -0500
Subject: [PATCH 09/28] feat(search_page): slimmer views.py
---
apps/search_page/views.py | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/apps/search_page/views.py b/apps/search_page/views.py
index 2f2bb952a..9dfb14560 100644
--- a/apps/search_page/views.py
+++ b/apps/search_page/views.py
@@ -1,8 +1,4 @@
-from django.http import HttpResponse
-from django.conf import settings
-from django.template import loader
-
+from django.shortcuts import render
def SearchPageView(request):
- template = loader.get_template('search_page/search_page.html')
- return HttpResponse(template.render({}, request))
+ return render(request, 'search_page/search_page.html')
From da3a73ae0cbad5e23b6696a56d9e53de3c840512 Mon Sep 17 00:00:00 2001
From: Wesley B <62723358+wesleyboar@users.noreply.github.com>
Date: Wed, 23 Oct 2024 16:12:07 -0500
Subject: [PATCH 10/28] feat(search): create page if it does not exist
---
apps/search_page/apps.py | 4 ++++
apps/search_page/utils.py | 26 ++++++++++++++++++++++++++
2 files changed, 30 insertions(+)
create mode 100644 apps/search_page/utils.py
diff --git a/apps/search_page/apps.py b/apps/search_page/apps.py
index fcc89a1f7..4a7846f2c 100644
--- a/apps/search_page/apps.py
+++ b/apps/search_page/apps.py
@@ -3,3 +3,7 @@
class SearchPageConfig(AppConfig):
name = 'apps.search_page'
+
+ def ready(self):
+ from .utils import create_search_page
+ create_search_page()
diff --git a/apps/search_page/utils.py b/apps/search_page/utils.py
new file mode 100644
index 000000000..90744f794
--- /dev/null
+++ b/apps/search_page/utils.py
@@ -0,0 +1,26 @@
+import logging
+
+from django.conf import settings
+
+from cms.api import create_page
+from cms.models.pagemodel import Page
+
+logger = logging.getLogger(f'portal.{__name__}')
+
+TITLE = 'Search'
+SLUG = settings.PORTAL_SEARCH_PATH.strip('/')
+
+def create_search_page():
+ has_search_page = Page.objects.filter(title_set__slug=SLUG).exists()
+
+ if not has_search_page:
+ create_page(
+ title=TITLE,
+ # Use a template from CMS_TEMPLATES setting
+ template='standard.html',
+ language='en',
+ published=True,
+ slug=SLUG,
+ in_navigation=False,
+ )
+ logger.info(f'Created search page "{TITLE}" at "{SLUG}"')
From 5fb5a322351ed428c32265c0d2c93548007b2bdd Mon Sep 17 00:00:00 2001
From: Wesley B <62723358+wesleyboar@users.noreply.github.com>
Date: Wed, 23 Oct 2024 16:22:18 -0500
Subject: [PATCH 11/28] fix(search): restore breadcrumbs
---
.../templates/{search_page => }/search_page.html | 8 +++-----
apps/search_page/views.py | 2 +-
2 files changed, 4 insertions(+), 6 deletions(-)
rename apps/search_page/templates/{search_page => }/search_page.html (88%)
diff --git a/apps/search_page/templates/search_page/search_page.html b/apps/search_page/templates/search_page.html
similarity index 88%
rename from apps/search_page/templates/search_page/search_page.html
rename to apps/search_page/templates/search_page.html
index d866b719f..965b6cd2b 100644
--- a/apps/search_page/templates/search_page/search_page.html
+++ b/apps/search_page/templates/search_page.html
@@ -6,13 +6,11 @@
{% endblock css %}
-{% block cms_content %}
- {% placeholder "content" %}
-
+{% block app_content %}
-
Search
+ {% page_attribute "page_title" %}
@@ -25,4 +23,4 @@
Search
{% endif %}
-{% endblock cms_content %}
+{% endblock app_content %}
diff --git a/apps/search_page/views.py b/apps/search_page/views.py
index 9dfb14560..cf5486460 100644
--- a/apps/search_page/views.py
+++ b/apps/search_page/views.py
@@ -1,4 +1,4 @@
from django.shortcuts import render
def SearchPageView(request):
- return render(request, 'search_page/search_page.html')
+ return render(request, 'search_page.html')
From 1fef4f817a4105d851f579d4d5de29cfde20f394 Mon Sep 17 00:00:00 2001
From: Wesley B <62723358+wesleyboar@users.noreply.github.com>
Date: Wed, 23 Oct 2024 16:23:02 -0500
Subject: [PATCH 12/28] chore(search_page): remove now-unnecessary file
This had create dbreadcrumsb before.
---
apps/search_page/cms_menus.py | 23 -----------------------
1 file changed, 23 deletions(-)
delete mode 100644 apps/search_page/cms_menus.py
diff --git a/apps/search_page/cms_menus.py b/apps/search_page/cms_menus.py
deleted file mode 100644
index 274106f26..000000000
--- a/apps/search_page/cms_menus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-from menus.base import Menu, NavigationNode
-from menus.menu_pool import menu_pool
-from django.utils.translation import gettext_lazy as _
-
-class SearchPageMenu(Menu):
-
- def get_nodes(self, request):
- return [
- NavigationNode(
- title=_('Home'),
- url="/",
- id=1,
- visible=False,
- ),
- NavigationNode(
- title=_('Search'),
- url="/search/",
- id=2,
- visible=False,
- ),
- ]
-
-menu_pool.register_menu(SearchPageMenu)
From e8072e6d8d964fe426e38427636c3eee8f09f348 Mon Sep 17 00:00:00 2001
From: Wesley B <62723358+wesleyboar@users.noreply.github.com>
Date: Wed, 23 Oct 2024 16:37:47 -0500
Subject: [PATCH 13/28] enhance(search_page): flag page as auto-generated
---
apps/search_page/utils.py | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/apps/search_page/utils.py b/apps/search_page/utils.py
index 90744f794..862ddc3eb 100644
--- a/apps/search_page/utils.py
+++ b/apps/search_page/utils.py
@@ -15,7 +15,10 @@ def create_search_page():
if not has_search_page:
create_page(
- title=TITLE,
+ title=f'{TITLE} (Auto-Generated)',
+ menu_title=TITLE,
+ page_title=TITLE,
+ reverse_id=SLUG,
# Use a template from CMS_TEMPLATES setting
template='standard.html',
language='en',
@@ -24,3 +27,5 @@ def create_search_page():
in_navigation=False,
)
logger.info(f'Created search page "{TITLE}" at "{SLUG}"')
+ else:
+ logger.info(f'Found existing search page at "{SLUG}"')
From 3291015f8578056a843ef6dcea220e5b2f8be43d Mon Sep 17 00:00:00 2001
From: Wesley B <62723358+wesleyboar@users.noreply.github.com>
Date: Wed, 23 Oct 2024 18:21:46 -0500
Subject: [PATCH 14/28] enhance(search): attach apphook to manage urls
---
apps/search_page/cms_apps.py | 11 +++++++++
apps/search_page/urls.py | 9 +++----
apps/search_page/utils.py | 37 ++++++++++++++++++++++-------
taccsite_cms/urls_custom.example.py | 3 ---
4 files changed, 45 insertions(+), 15 deletions(-)
create mode 100644 apps/search_page/cms_apps.py
diff --git a/apps/search_page/cms_apps.py b/apps/search_page/cms_apps.py
new file mode 100644
index 000000000..20f24638e
--- /dev/null
+++ b/apps/search_page/cms_apps.py
@@ -0,0 +1,11 @@
+from cms.app_base import CMSApp
+from cms.apphook_pool import apphook_pool
+
+
+@apphook_pool.register # register the application
+class SearchPageApphook(CMSApp):
+ app_name = 'apps.search_page'
+ name = 'SearchPage'
+
+ def get_urls(self, page=None, language=None, **kwargs):
+ return ['apps.search_page.urls']
diff --git a/apps/search_page/urls.py b/apps/search_page/urls.py
index 8ce105c6e..5ff4eac0b 100644
--- a/apps/search_page/urls.py
+++ b/apps/search_page/urls.py
@@ -1,7 +1,8 @@
-from django.urls import re_path
-from .views import SearchPageView
+from django.urls import path
+from . import views
+
+app_name = 'apps.search_page'
-app_name = 'search_page'
urlpatterns = [
- re_path('', SearchPageView, name='index'),
+ path('', views.SearchPageView, name='search')
]
diff --git a/apps/search_page/utils.py b/apps/search_page/utils.py
index 862ddc3eb..f45be1858 100644
--- a/apps/search_page/utils.py
+++ b/apps/search_page/utils.py
@@ -5,27 +5,48 @@
from cms.api import create_page
from cms.models.pagemodel import Page
+from .cms_apps import SearchPageApphook
+
logger = logging.getLogger(f'portal.{__name__}')
TITLE = 'Search'
-SLUG = settings.PORTAL_SEARCH_PATH.strip('/')
+DEFAULT_SLUG = settings.PORTAL_SEARCH_PATH.strip('/')
+
+def get_page():
+ try:
+ page = Page.objects.filter(reverse_id='search_page').first()
+ return page
+ except Page.DoesNotExist:
+ return None
+
+def get_slug(page=None):
+ if page:
+ return page.get_slug()
+ else:
+ page = get_page()
+ return get_slug() if page else DEFAULT_SLUG
def create_search_page():
- has_search_page = Page.objects.filter(title_set__slug=SLUG).exists()
+ page = get_page()
+ slug = get_slug(page)
- if not has_search_page:
- create_page(
+ if not page:
+ page = create_page(
title=f'{TITLE} (Auto-Generated)',
menu_title=TITLE,
page_title=TITLE,
- reverse_id=SLUG,
+ reverse_id='search_page',
# Use a template from CMS_TEMPLATES setting
template='standard.html',
language='en',
published=True,
- slug=SLUG,
+ slug=slug,
in_navigation=False,
+ apphook=SearchPageApphook,
+ apphook_namespace=SearchPageApphook.name,
)
- logger.info(f'Created search page "{TITLE}" at "{SLUG}"')
+ logger.info(f'Created search page "{TITLE}" at "{slug}"')
else:
- logger.info(f'Found existing search page at "{SLUG}"')
+ logger.info(f'Found existing search page at "{slug}"')
+
+ return page
diff --git a/taccsite_cms/urls_custom.example.py b/taccsite_cms/urls_custom.example.py
index d82cab459..d0201cee8 100644
--- a/taccsite_cms/urls_custom.example.py
+++ b/taccsite_cms/urls_custom.example.py
@@ -6,9 +6,6 @@
# CUSTOM APP
re_path(r'^custom_test/', include('apps.custom_example.urls', namespace='custom_test')),
- # SEARCH_PAGE
- re_path(r'^' + settings.PORTAL_SEARCH_PATH.strip('/') + '/', include('apps.search_page.urls', namespace='search')),
-
# DJANGOCMS_BLOG
re_path(r'^taggit_autosuggest/', include('taggit_autosuggest.urls')),
From ca11f0730fb2976c5c429ee630e53fcc061759e8 Mon Sep 17 00:00:00 2001
From: Wesley B <62723358+wesleyboar@users.noreply.github.com>
Date: Wed, 23 Oct 2024 19:23:25 -0500
Subject: [PATCH 15/28] style(search): polish
---
apps/search_page/cms_apps.py | 2 +-
apps/search_page/urls.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/apps/search_page/cms_apps.py b/apps/search_page/cms_apps.py
index 20f24638e..236d4daa6 100644
--- a/apps/search_page/cms_apps.py
+++ b/apps/search_page/cms_apps.py
@@ -2,7 +2,7 @@
from cms.apphook_pool import apphook_pool
-@apphook_pool.register # register the application
+@apphook_pool.register
class SearchPageApphook(CMSApp):
app_name = 'apps.search_page'
name = 'SearchPage'
diff --git a/apps/search_page/urls.py b/apps/search_page/urls.py
index 5ff4eac0b..5a4056342 100644
--- a/apps/search_page/urls.py
+++ b/apps/search_page/urls.py
@@ -4,5 +4,5 @@
app_name = 'apps.search_page'
urlpatterns = [
- path('', views.SearchPageView, name='search')
+ path('', views.SearchPageView, name='search'),
]
From 445010c2dd45f5eeeab1302902f34d0d286a71b3 Mon Sep 17 00:00:00 2001
From: Wesley B <62723358+wesleyboar@users.noreply.github.com>
Date: Wed, 23 Oct 2024 19:34:52 -0500
Subject: [PATCH 16/28] fix(search): searchbar not using curr. search path
---
apps/search_page/utils.py | 8 ++++++++
taccsite_cms/templates/nav_search.raw.html | 4 ++--
taccsite_cms/templatetags/search_tags.py | 19 +++++++++++++++++++
3 files changed, 29 insertions(+), 2 deletions(-)
create mode 100644 taccsite_cms/templatetags/search_tags.py
diff --git a/apps/search_page/utils.py b/apps/search_page/utils.py
index f45be1858..59d957c05 100644
--- a/apps/search_page/utils.py
+++ b/apps/search_page/utils.py
@@ -1,6 +1,7 @@
import logging
from django.conf import settings
+from django.urls import reverse
from cms.api import create_page
from cms.models.pagemodel import Page
@@ -26,6 +27,13 @@ def get_slug(page=None):
page = get_page()
return get_slug() if page else DEFAULT_SLUG
+def get_search_page_url():
+ try:
+ page = Page.objects.get(reverse_id='search_page')
+ return page.get_absolute_url()
+ except Page.DoesNotExist:
+ return reverse('apps.search_page:search')
+
def create_search_page():
page = get_page()
slug = get_slug(page)
diff --git a/taccsite_cms/templates/nav_search.raw.html b/taccsite_cms/templates/nav_search.raw.html
index 5b7163864..95cb8b5f2 100644
--- a/taccsite_cms/templates/nav_search.raw.html
+++ b/taccsite_cms/templates/nav_search.raw.html
@@ -1,6 +1,6 @@
{# @var settings #}
-{% load static %}
+{% load static search_tags %}
@@ -14,7 +14,7 @@
{% endif %}
-