From 76c2fec23ed3c8746b2826c07615d7f685d5c04f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Wed, 21 Mar 2018 10:10:44 +0100 Subject: [PATCH] misc: do not index cells in technical placeholders (#22658) --- combo/data/templates/combo/search/page.txt | 4 +++- tests/test_search.py | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/combo/data/templates/combo/search/page.txt b/combo/data/templates/combo/search/page.txt index 93d4b0a5..4e21afaa 100644 --- a/combo/data/templates/combo/search/page.txt +++ b/combo/data/templates/combo/search/page.txt @@ -1,5 +1,7 @@ {% autoescape off %} {% for cell in object.get_cells %} - {{ cell.render_for_search }} + {% if cell.placeholder|first != '_' %} {# ignore technical placeholders #} + {{ cell.render_for_search }} + {% endif %} {% endfor %} {% endautoescape %} diff --git a/tests/test_search.py b/tests/test_search.py index 3d1757e0..b23d996f 100644 --- a/tests/test_search.py +++ b/tests/test_search.py @@ -189,6 +189,18 @@ def test_search_contents_index(): prepared_data = page_index.prepare(page) assert 'foobar' in prepared_data['text'] +def test_search_contents_technical_placeholder(): + page = Page(title='example page', slug='example-page') + page.save() + + TextCell(page=page, text='

foobar

', order=0, placeholder='_off').save() + TextCell(page=page, text='

barfoo

', order=0, placeholder='on').save() + + page_index = PageIndex() + prepared_data = page_index.prepare(page) + assert 'barfoo' in prepared_data['text'] + assert not 'foobar' in prepared_data['text'] + def test_search_api(app): page = Page(title='example page', slug='example-page') page.save()