0001-misc-do-not-index-cells-in-technical-placeholders-22.patch
combo/data/templates/combo/search/page.txt | ||
---|---|---|
1 | 1 |
{% autoescape off %} |
2 | 2 |
{% for cell in object.get_cells %} |
3 |
{{ cell.render_for_search }} |
|
3 |
{% if cell.placeholder|first != '_' %} {# ignore technical placeholders #} |
|
4 |
{{ cell.render_for_search }} |
|
5 |
{% endif %} |
|
4 | 6 |
{% endfor %} |
5 | 7 |
{% endautoescape %} |
tests/test_search.py | ||
---|---|---|
189 | 189 |
prepared_data = page_index.prepare(page) |
190 | 190 |
assert 'foobar' in prepared_data['text'] |
191 | 191 | |
192 |
def test_search_contents_technical_placeholder(): |
|
193 |
page = Page(title='example page', slug='example-page') |
|
194 |
page.save() |
|
195 | ||
196 |
TextCell(page=page, text='<p>foobar</p>', order=0, placeholder='_off').save() |
|
197 |
TextCell(page=page, text='<p>barfoo</p>', order=0, placeholder='on').save() |
|
198 | ||
199 |
page_index = PageIndex() |
|
200 |
prepared_data = page_index.prepare(page) |
|
201 |
assert 'barfoo' in prepared_data['text'] |
|
202 |
assert not 'foobar' in prepared_data['text'] |
|
203 | ||
192 | 204 |
def test_search_api(app): |
193 | 205 |
page = Page(title='example page', slug='example-page') |
194 | 206 |
page.save() |
195 |
- |