Страница расширенного поиска принимает два типа параметров.
Одним из них является просто поле «ключевые слова». Это выполняет полнотекстовый поиск, т. е. ищет предоставленные ключевые слова в ЛЮБОМ текстовом свойстве. Нет необходимости настраивать полнотекстовый поиск для пользовательских типов (например, вашего gl:x) — он автоматически подбирает любое свойство текста в любой модели в системе.
Другая — это группа одиночных параметров: имя, заголовок, описание, MIME-тип, дата изменения, модификатор. Эти свойства могут быть любого типа. Свойство d:date было бы здесь вполне приемлемо, о чем свидетельствует параметр модифицированной даты. Но здесь пользовательские свойства не подхватываются автоматически. Они должны быть настроены явно.
Обратите внимание, что в верхней части страницы расширенного поиска находится раскрывающийся список «Искать» с двумя параметрами: содержимое и папки. Лучшим подходом было бы добавить опцию для вашего типа контента gl:x и настроить для него форму поиска.
Вы можете найти определение двух стандартных форм поиска в tomcat/webapps/share/WEB-INF/classes/alfresco/share-form-config.xml. Файл довольно длинный, поэтому вот два раздела для поиска:
<config evaluator="model-type" condition="cm:content">
<forms>
<!-- Default Create Content form -->
<form>
</form>
<!-- Document Library Create Google Doc form -->
<form id="doclib-create-googledoc">
</form>
<!-- Search form -->
<form id="search">
</form>
</forms>
</config>
<!-- cm:folder type (creating nodes) -->
<config evaluator="model-type" condition="cm:folder">
<forms>
<!-- Document Library Common form -->
<form id="doclib-common">
</form>
<!-- Search form -->
<form id="search">
</form>
</forms>
</config>
Я пропустил подробности, но важно то, что «cm:content» и «cm:folder» определяют <form id="search">
с нужными свойствами/параметрами поиска.
В качестве эксперимента вы можете напрямую изменить файл share-form-config.xml и добавить собственное определение:
<config evaluator="model-type" condition="gl:x">
<forms>
<!-- Search form -->
<form id="search">
<field-visibility>
<show id="gl:date" />
</field-visibility>
<appearance>
<field id="gl:date">
<control template="/org/alfresco/components/form/controls/daterange.ftl" />
</field>
</appearance>
</form>
</forms>
</config>
Также вам нужно добавить новую форму поиска в конфигурацию AdvancedSearch, которая находится в tomcat/webapps/share/WEB-INF/classes/alfresco/share-config.xml:
<config evaluator="string-compare" condition="AdvancedSearch">
<advanced-search>
<forms>
<form labelId="search.form.label.cm_content" descriptionId="search.form.desc.cm_content">cm:content</form>
<form labelId="search.form.label.cm_folder" descriptionId="search.form.desc.cm_folder">cm:folder</form>
<form labelId="search.form.label.gl_x" descriptionId="search.form.desc.gl_x">gl:x</form>
</forms>
</advanced-search>
</config>
Не забывайте перезапускать alfresco после каждого изменения. Когда вы будете удовлетворены результатами, было бы лучше переместить ваши пользовательские определения в отдельный файл share-config-custom.xml в вашем проекте (share-config.xml и share-form-config.xml никогда не следует изменять напрямую). ).
Подробнее: https://wiki.alfresco.com/wiki/Share_Advanced_Search
person
softwareloop
schedule
24.10.2014