Перейти к основному содержимому

Реализуйте свой собственный поиск

Регистрация реализации

Pimcore предоставляет {c3} (= facade), где вы можете зарегистрировать пользовательскую реализацию.

Зарегистрировать пользовательскую реализацию

pimcore.registerNS('pimcore.bundle.search');  

pimcore.bundle.search = Class.create({
initialize: function () {
document.addEventListener(pimcore.events.pimcoreReady, this.pimcoreReady.bind(this));
},

pimcoreReady: function () {
this.searchRegistry = pimcore.globalmanager.get('searchImplementationRegistry');
this.searchRegistry.registerImplementation(new your.custom.search.implementation());
}
)};

Check for an Implementation

Thanks to the registry we can check if a custom search implementation has been registered.

pimcore.globalmanager.get('searchImplementationRegistry').hasImplementation();  

//or a more readable way
pimcore.helpers.hasSearchImplementation()

Create a custom search implementation

If you want to create your own search implementation you have to provide some predefined methods. These methods are: openItemSelector, showQuickSearch, hideQuickSearch and getObjectRelationInlineSearchRoute.

  • The openItemSelector method will be triggered by certain data object fields and editables through the Helper.js.
  • The showQuickSearch and hideQuickSearch is responsible for managing the quickSearch.
  • The getObjectRelationInlineSearchRoute has to return the route to DataObjectController::optionsAction.

Для справки вы можете проверить реализацию в Pimcoresimplebackendsearchbundle. См. Service.js и {p2}.

Использование Pimcore без Simplebackendessearchbundle

Если вы используете Pimcore без SimpleBackEndsearchBundle, вы должны рассмотреть следующие недостатки.

searchbutton

Pimcore скрыт все кнопки поиска из объектов полей и редактируемых (например, отношения, изображение, галерея, видео, ...).

Встроенный поиск

Pimcore предоставляет возможность добавить встроенный поиск в некоторые отношения. Этот вариант не будет там.

Поиск на панели инструментов

У Pimcore также не будет кнопки поиска на панели инструментов. Согласно этому, QuickSearch также исчезнет.

Поиск GDPR

Pimcore будет иметь только очень базовую реализацию поиска GDPR. Особенно для поиска через объекты данных настоятельно рекомендуется использовать SimpleBackendSearchBundle.


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.