Search Context - boxalino/rtux-integration-magento2 GitHub Wiki

Before you continue, make sure the required integration steps have been completed.

The search context is about replacing search view/response with API response blocks. The Boxalino widget is search. The rest of the properties are inherited from the request & Magento2 configurations (hitCount, sorting, facets etc)

The content of the response depends 100% on your design and layout blocks desired.

Before a feature test, the layout blocks & narrative layout must be defined in Boxalino Intelligence admin.

The Layout Blocks JSON & Narratives JSON from this page can be used as base.

If there is no narrative assigned to the choice/widget requested, the response will be empty.

Integration description

The Layout Blocks JSON & Narrative Layout JSON sample is minimalistic. Following this integration, the page title ( public function getSearchQueryText() and the main-content search.result is being replaced by the Narrative API. These guidelines do not update the default Magento2 catalogsearch_result_index layout

Due to the listing context, the following elements are defined as layout blocks and used in the API layout. Templates and block types have been provided as well but the decision to re-use them is up to the integrator:

  1. toolbar
  2. pagination
  3. sorting

More documentation on the provided elements is available in the framework wiki.

The provided JSON samples for the Narrative layout and the Layout blocks must be imported in Boxalino Intelligence Admin . Make sure to use your project namespace for templates or other properties definitions.

The Search strategy

During a search request, there are 3 available scenarios for a response:

  1. there are matches for the search query (or a corrected search query) - a list of products & facets to be displayed
  2. there are sub-phrases matches - multiple lists of products to be displayed (per each sub-query match)
  3. there are no matches - a list of "noresults" recommendations is returned

Based on the described branches, the search layout is a conditional layout. In the integration guidelines all 3 scenarios are part of the narrative layout.

Steps

In order to enable Boxalino search, the following steps are needed:

1. Implement the Boxalino RTUX API ContextInterface

In the most basic integration (ex: when extending from the provided base ContextAbstract ) - only 3 functions are left to be implemented in order to set:

  • the products visibility (as filter values)
  • the products category (as filter - depends on the context)
  • the return fields (which can be set via layout XML as well)

Some of the properties to be set/enabled are the ones needed by the SearchRequestDefinitionInterface:

  1. Subphrases count (default:1)
  2. Subphrases products count

The filters list can be changed by rewriting the addFilters(RequestInterface $request) function.

FYI: the SearchRequestDefinitionInterface must be defined on the context due to the nature of the context: search.

2. Create the Search/Result block

To keep things simple, the default Magento2 Search Result block is used as a parent in order to also ensure a safe fallback strategy. Due to that, some of the functions had to be rewritten to validate the fallback or to allow you re-use the default template (comments available on the target functions)

In order to replace the content of "search.result", the template is being updated to the default API block template which will render the response content.

This is a recommendation because the search narrative layout strategy is for 3 scenarios: some results, subphrases and no results - which is not supported by the default Magento_CatalogSearch::result.phtml template

3. Update the DI

3.1 Search Redirects

In order to integrate the API redirect values, the controller must be rewritten:

  1. Create the Result/Index controller

Extend for your main catalogsearch_result_index.xml controller; if there are custom dependencies in your project - take those into account

  1. Declare the preference in di.xml

The redirect values are configured in Intelligence Admin by the client/customer. https://boxalino.atlassian.net/wiki/spaces/BPKB/pages/354943221/Search+Redirects

  1. Declare the preference in frontend/di.xml for LayeredNavigation

4. Follow the navigation facets integration

5. (Optional) Follow the top facets integration

6. Create facets (or load in the Intelligence Admin);

In Intelligence Admin check the "Force Include" option on the facet. This will send it as part of the API response.

Layout Blocks JSON

[{"id":1425,"uniqueKey":"rtux_sample_facet_navigation_top_api","parametersJsonScheme":"{\n \"title\": \"Navigation Facets\",\n \"type\": \"object\",\n \"properties\": {\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"facet accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"bx-facets","values":["accessor"]},{"name":"content-resource","values":["c-r=t"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/layered-navigation/navigation.phtml"]},{"name":"name","values":["catalog.navigation.left"]},{"name":"position","values":["top"]},{"name":"model","values":["Boxalino\\RealTimeUserExperience\\Model\\Response\\Content\\ApiFacet"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\LayeredNavigation\\Layer\\Navigation"]},{"name":"child","values":["state","state","renderer"]}],"subRenderings":[{"parameters":[],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_facet_state_api","label":null,"parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[]},{"visualElementModelUniqueKey":"rtux_sample_facet_renderer_api","label":null,"parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[]}],"parameters":null}}],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":1494,"uniqueKey":"rtux_sample_toolbar_sort_pagination","parametersJsonScheme":"{\n \"title\": \"Accessor\",\n \"type\": \"object\",\n \"properties\": {\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"hits accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"bx-hitCounts","values":["accessor"]},{"name":"content-resource","values":["c-r=t"]},{"name":"name","values":["rtux_api_toolbar_sort_pagination"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\Catalog\\Product\\ProductList\\Toolbar"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/catalog/product/list/toolbar.phtml"]}],"subRenderings":[{"parameters":[],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_sorting","label":null,"parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[]},{"visualElementModelUniqueKey":"rtux_sample_pagination","label":null,"parameters":[{"name":"useContainer","values":["true"]},{"name":"showAmounts","values":["false"]},{"name":"showPerPage","values":["false"]},{"name":"showPager","values":["true"]},{"name":"name","values":["rtux_api_pagination_sort"]}],"visualElement":null,"subRenderings":[]}],"parameters":null}}],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":972,"uniqueKey":"rtux_sample_product_list_api","parametersJsonScheme":"{\n \"title\": \"Product List\",\n \"type\": \"object\",\n \"properties\": {\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"hits accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"bx-hits","values":["accessor"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/catalog/product/listing.phtml"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\Catalog\\Product\\ListProduct"]},{"name":"model","values":["Boxalino\\RealTimeUserExperience\\Model\\Response\\Content\\ApiEntityCollection"]},{"name":"content-resource","values":["c-r=t"]},{"name":"name","values":["rtux_api_product_list"]}],"subRenderings":[],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":973,"uniqueKey":"rtux_sample_search_title_api","parametersJsonScheme":"{\n \"title\": \"Title (H1)\",\n \"type\": \"object\",\n \"properties\": {\n \"title\": {\n \"type\": \"object\",\n \"title\": \"Normal Search Title\",\n \"properties\": {\n \"de\": {\n \"type\": \"string\",\n \"description\": \"normal search titlein German\"\n },\n \"en\": {\n \"type\": \"string\",\n \"description\": \"normal search title in English\"\n }\n }\n },\n \"bx_alternate_title\": {\n \"type\": \"object\",\n \"title\": \"Corrected Search Title\",\n \"properties\": {\n \"de\": {\n \"type\": \"string\",\n \"description\": \"corrected search title in German\"\n },\n \"en\": {\n \"type\": \"string\",\n \"description\": \"corrected search titlein English\"\n }\n }\n },\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"facet accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"bx-search-title","values":["accessor"]},{"name":"content-resource","values":["c-r=t"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\Api\\Block"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/element/title-h1.phtml"]},{"name":"name","values":["rtux_api_search_title"]}],"subRenderings":[],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":976,"uniqueKey":"rtux_sample_product","parametersJsonScheme":"{\n \"title\": \"Product\",\n \"type\": \"object\",\n \"properties\": {\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"hits accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/catalog/product/list/item.phtml"]},{"name":"bx-hit","values":["accessor"]},{"name":"content-resource","values":["c-r=t"]},{"name":"name","values":["rtux_api_product_item"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\Catalog\\Product\\ProductList\\Item\\Block"]}],"subRenderings":[],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":977,"uniqueKey":"rtux_sample_pagination","parametersJsonScheme":"{\n \"title\": \"Pager Parameters (per Magento2 configurations)\",\n \"type\": \"object\",\n \"properties\": {\n \"useContainer\": {\n \"title\": \"Use container\",\n \"type\": \"boolean\",\n \"format\": \"checkbox\"\n },\n \"showAmounts\": {\n \"title\": \"Show amounts\",\n \"type\": \"boolean\",\n \"format\": \"checkbox\"\n },\n \"showPerPage\": {\n \"title\": \"Show per page\",\n \"type\": \"boolean\",\n \"format\": \"checkbox\"\n },\n \"showPager\": {\n \"title\": \"Show pager\",\n \"type\": \"boolean\",\n \"format\": \"checkbox\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"bx-pagination","values":["accessor"]},{"name":"content-resource","values":["c-r=t"]},{"name":"name","values":["rtux_api_pagination"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\Catalog\\Product\\ProductList\\Pager"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/catalog/product/list/toolbar/pagination.phtml"]}],"subRenderings":[],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":978,"uniqueKey":"rtux_sample_sorting","parametersJsonScheme":"{\n \"title\": \"Sorting\",\n \"type\": \"object\",\n \"properties\": {\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"hits accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"bx-sort","values":["accessor"]},{"name":"content-resource","values":["c-r=t"]},{"name":"name","values":["rtux_api_sorting"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\Catalog\\Product\\ProductList\\Sorting"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/catalog/product/list/toolbar/sorter.phtml"]},{"name":"model","values":["Boxalino\\RealTimeUserExperience\\Model\\Response\\Content\\ApiSorting"]}],"subRenderings":[],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":979,"uniqueKey":"rtux_sample_toolbar","parametersJsonScheme":"{\n \"title\": \"Accessor\",\n \"type\": \"object\",\n \"properties\": {\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"hits accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"bx-hitCounts","values":["accessor"]},{"name":"content-resource","values":["c-r=t"]},{"name":"name","values":["rtux_api_toolbar"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\Catalog\\Product\\ProductList\\Toolbar"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/catalog/product/list/toolbar.phtml"]}],"subRenderings":[],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":980,"uniqueKey":"rtux_sample_title_h3","parametersJsonScheme":"{\n \"title\": \"Title (H3)\",\n \"type\": \"object\",\n \"properties\": {\n \"title\": {\n \"type\": \"object\",\n \"title\": \"Title\",\n \"properties\": {\n \"de\": {\n \"type\": \"string\",\n \"description\": \"title in German\"\n },\n \"en\": {\n \"type\": \"string\",\n \"description\": \"title in English\"\n }\n }\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/element/title-h3.phtml"]},{"name":"content-resource","values":["c-r=t"]},{"name":"name","values":["rtux_api_title_h3"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\Api\\Block"]}],"subRenderings":[],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":981,"uniqueKey":"rtux_sample_title_h1","parametersJsonScheme":"{\n \"title\": \"Title (H1)\",\n \"type\": \"object\",\n \"properties\": {\n \"title\": {\n \"type\": \"object\",\n \"title\": \"Title\",\n \"properties\": {\n \"de\": {\n \"type\": \"string\",\n \"description\": \"title in German\"\n },\n \"en\": {\n \"type\": \"string\",\n \"description\": \"title in English\"\n }\n }\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"content-resource","values":["c-r=t"]},{"name":"name","values":["rtux_api_title_h1"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\Api\\Block"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/element/title-h1.phtml"]}],"subRenderings":[],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":982,"uniqueKey":"rtux_sample_title_h3_see_all_link","parametersJsonScheme":"{\n \"title\": \"Title (h3) with 'See All' link\",\n \"type\": \"object\",\n \"properties\": {\n \"title\": {\n \"type\": \"object\",\n \"title\": \"Label\",\n \"properties\": {\n \"de\": {\n \"type\": \"string\",\n \"description\": \"Title in German\"\n },\n \"en\": {\n \"type\": \"string\",\n \"description\": \"Title in English\"\n }\n }\n },\n \"see_all_label\": {\n \"type\": \"object\",\n \"title\": \"See all link label\",\n \"properties\": {\n \"de\": {\n \"type\": \"string\",\n \"description\": \"See all link label in German\"\n },\n \"en\": {\n \"type\": \"string\",\n \"description\": \"See all link label in English\"\n }\n }\n },\n \"see_all_link\": {\n \"type\": \"object\",\n \"title\": \"See all link\",\n \"properties\": {\n \"de\": {\n \"type\": \"string\",\n \"description\": \"See all link in German\"\n },\n \"en\": {\n \"type\": \"string\",\n \"description\": \"See all link in English\"\n }\n }\n },\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"hits accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"content-resource","values":["c-r=t"]},{"name":"name","values":["rtux_api_title_h3_see_all_link"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\Api\\Block"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/element/title-h3-see-all-link.phtml"]}],"subRenderings":[],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":984,"uniqueKey":"rtux_sample_toolbar_pagination","parametersJsonScheme":"{\n \"title\": \"Accessor\",\n \"type\": \"object\",\n \"properties\": {\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"hits accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"bx-hitCounts","values":["accessor"]},{"name":"content-resource","values":["c-r=t"]},{"name":"name","values":["rtux_api_toolbar_pagination"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\Catalog\\Product\\ProductList\\Toolbar"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/catalog/product/list/toolbar.phtml"]}],"subRenderings":[{"parameters":[],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_pagination","label":null,"parameters":[{"name":"useContainer","values":["true"]},{"name":"showAmounts","values":["false"]},{"name":"showPerPage","values":["true"]},{"name":"showPager","values":["true"]}],"visualElement":null,"subRenderings":[]}],"parameters":null}}],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":985,"uniqueKey":"rtux_sample_toolbar_sort_options","parametersJsonScheme":"{\n \"title\": \"Accessor\",\n \"type\": \"object\",\n \"properties\": {\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"hits accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"bx-hitCounts","values":["accessor"]},{"name":"content-resource","values":["c-r=t"]},{"name":"name","values":["rtux_api_toolbar_sorting"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\Catalog\\Product\\ProductList\\Toolbar"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/catalog/product/list/toolbar.phtml"]}],"subRenderings":[{"parameters":[],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_sorting","label":null,"parameters":[],"visualElement":null,"subRenderings":[]}],"parameters":null}}],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":986,"uniqueKey":"rtux_sample_facet_top_api","parametersJsonScheme":"{\n \"title\": \"Top Facet\",\n \"type\": \"object\",\n \"properties\": {\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"facet accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"bx-facets","values":["accessor"]},{"name":"name","values":["catalog.navigation.top"]},{"name":"position","values":["top"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\LayeredNavigation\\Layer\\Navigation"]},{"name":"model","values":["Boxalino\\RealTimeUserExperience\\Model\\Response\\Content\\ApiFacet"]},{"name":"content-resource","values":["c-r=t"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/layered-navigation/top.phtml"]},{"name":"child","values":["renderer-top"]}],"subRenderings":[{"parameters":[],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_facet_renderer_api","label":null,"parameters":[{"name":"name","values":["renderer-top"]},{"name":"accessor","values":[]}],"visualElement":null,"subRenderings":[]}],"parameters":null}}],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":987,"uniqueKey":"rtux_sample_facet_renderer_api","parametersJsonScheme":"{\n \"title\": \"Facets Renderer (filter view)\",\n \"type\": \"object\",\n \"properties\": {\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"facet accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"name","values":["renderer"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\LayeredNavigation\\Layer\\Filter"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/layered-navigation/layer/filter.phtml"]}],"subRenderings":[],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":988,"uniqueKey":"rtux_sample_facet_state_api","parametersJsonScheme":"{\n \"title\": \"Facets State (active filters)\",\n \"type\": \"object\",\n \"properties\": {\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"facet accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"name","values":["state"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\LayeredNavigation\\Layer\\State"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/layered-navigation/layer/state.phtml"]},{"name":"content-resource","values":["c-r=t"]}],"subRenderings":[],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":989,"uniqueKey":"rtux_sample_facet_navigation_api","parametersJsonScheme":"{\n \"title\": \"Navigation Facets\",\n \"type\": \"object\",\n \"properties\": {\n \"accessor\": {\n \"type\": \"string\",\n \"description\": \"facet accessor (typically leave empty)\"\n }\n }\n}","format":null,"widgets":[],"parameters":[{"name":"bx-facets","values":["accessor"]},{"name":"content-resource","values":["c-r=t"]},{"name":"template","values":["BoxalinoClientProject_BoxalinoIntegration::api/layered-navigation/navigation.phtml"]},{"name":"name","values":["catalog.navigation.left"]},{"name":"position","values":["left"]},{"name":"model","values":["Boxalino\\RealTimeUserExperience\\Model\\Response\\Content\\ApiFacet"]},{"name":"type","values":["Boxalino\\RealTimeUserExperience\\Block\\LayeredNavigation\\Layer\\Navigation"]},{"name":"child","values":["state","state","renderer"]}],"subRenderings":[{"parameters":[],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_facet_state_api","label":null,"parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[]},{"visualElementModelUniqueKey":"rtux_sample_facet_renderer_api","label":null,"parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[]}],"parameters":null}}],"route":"visual-elements","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true}]


Narrative Layout JSON

[{"id":1166,"status":null,"uniqueKey":"search_double_pagination","aliases":null,"widgets":["search"],"allWidgets":null,"parametersJsonScheme":null,"seoContent":{"title":[{"language":"de","value":""}],"metaTags":[],"h1":[{"language":"de","value":""}],"others":[{"name":"breadcrumbs","value":[{"language":"de","value":""}]}]},"contexts":[],"layoutModels":null,"acts":[{"parameters":[null],"chapter":{"format":"CPOActBranching","contexts":[{"choiceIds":[],"journeySteps":[],"variantIds":[],"excludedUseCaseIds":[],"languages":[],"queryTexts":[],"emptyQuery":null,"fromIndex":null,"toIndex":null,"contextItems":[],"contextParameters":[],"orContextParameters":null,"checkOtherContextParametersNotSetExclusive":null,"checkOtherContextParametersNotSetList":[],"filters":[],"orFilters":null,"checkOtherFiltersNotSetExclusive":null,"checkOtherFiltersNotSetList":[],"segmentationUniqueKeys":[],"scriptConditions":[{"expression":"{{template-some_results}}","operator":"","values":[],"orCondition":false}],"orScriptConditions":false}],"subActs":[{"parameters":[null],"act":{"format":"CPOActChapter","contexts":[],"subActs":[],"journeyStepUniqueKeys":null,"callToActions":null,"renderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_facet_navigation_api","label":"Facets (left)","parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_facet_top_api","label":"Top facets","parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_search_title_api","label":"Search Title","parameters":[{"name":"title","values":["{\"de\":\"Suchergebnisse für '$.requests[0].searchQuery^'\",\"en\":\"Search results for '$.requests[0].searchQuery^'\"}"]},{"name":"bx_alternate_title","values":["{\"de\":\"Korrigierte suchergebnisse für '$.responses[0].correctedSearchQuery^' statt '$.requests[0].searchQuery^'\",\"en\":\"Search results for '$.responses[0].correctedSearchQuery^' instead of '$.requests[0].searchQuery^'\"}"]},{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_toolbar_sort_pagination","label":null,"parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":null,"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_product_list_api","label":"Product List","parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_product","label":null,"parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]}],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_toolbar_pagination","label":"Toolbar with pagination","parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]}],"parameters":null}}],"parameters":null}},{"parameters":null,"act":{"format":"CPOActBranching","contexts":[{"choiceIds":[],"journeySteps":[],"variantIds":[],"excludedUseCaseIds":[],"languages":[],"queryTexts":[],"emptyQuery":null,"fromIndex":null,"toIndex":null,"contextItems":[],"contextParameters":[],"orContextParameters":null,"checkOtherContextParametersNotSetExclusive":null,"checkOtherContextParametersNotSetList":[],"filters":[],"orFilters":null,"checkOtherFiltersNotSetExclusive":null,"checkOtherFiltersNotSetList":[],"segmentationUniqueKeys":[],"scriptConditions":[{"expression":"{{template-sub_phrases}}","operator":"","values":[],"orCondition":false}],"orScriptConditions":false}],"subActs":[{"parameters":[null],"act":{"format":"CPOActChapter","contexts":[],"subActs":[],"journeyStepUniqueKeys":null,"callToActions":null,"renderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_title_h1","label":"Subphrases title","parameters":[{"name":"title","values":["{\"de\":\"Keine Ergebnisse für alle Ihre Such Wörter für '$.requests[0].searchQuery^', aber hier sind Teil Ergebnisse\",\"en\":\"No results matching '$.requests[0].searchQuery^', but here are part of the results\"}"]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_product_list_api","label":"Subphrases products","parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_title_h3_see_all_link","label":"See all for the subphrase","parameters":[{"name":"title","values":["{\"de\":\"{{sub-phrases-queryText}}\",\"en\":\"{{sub-phrases-queryText}}\"}"]},{"name":"see_all_label","values":["{\"de\":\"sehe alle\",\"en\":\"see all\"}"]},{"name":"see_all_link","values":["{\"de\":\"?q={{sub-phrases-queryText}}\",\"en\":\"?q={{sub-phrases-queryText}}\"}"]},{"name":"accessor","values":["sub-phrases-{{#iterate-sub-phrases-queryText}}{{iterate-sub-phrases-queryText}}{{/iterate-sub-phrases-queryText}}"]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_product","label":null,"parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]}],"parameters":null}}]}],"parameters":null}}],"parameters":null}},{"parameters":null,"act":{"format":"CPOActChapter","contexts":[],"subActs":[],"journeyStepUniqueKeys":null,"callToActions":null,"renderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_title_h1","label":"No results title","parameters":[{"name":"title","values":["{\"de\":\"Leider haben wir für '$.requests[0].searchQuery^' nichts gefunden.\",\"en\":\"We are sorry, there are no products for '$.requests[0].searchQuery^'\"}"]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_title_h3","label":"Product suggestion title","parameters":[{"name":"title","values":["{\"de\":\"Das könnte dir auch gefallen\",\"en\":\"You might like\"}"]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_product_list_api","label":"No results products","parameters":[{"name":"accessor","values":["noresults"]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_product","label":"Dynamic product","parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]}],"parameters":null}}]}],"parameters":null}}],"parameters":null}}],"indexesTrue":[0],"indexesFalse":[1]}}],"indexesTrue":[0],"indexesFalse":[1]}}],"parameters":[],"route":"narratives","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true},{"id":883,"status":null,"uniqueKey":"search","aliases":null,"widgets":[],"allWidgets":null,"parametersJsonScheme":null,"seoContent":{"title":[{"language":"de","value":""}],"metaTags":[],"h1":[{"language":"de","value":""}],"others":[{"name":"breadcrumbs","value":[{"language":"de","value":""}]}]},"contexts":[],"layoutModels":null,"acts":[{"parameters":[null],"chapter":{"format":"CPOActBranching","contexts":[{"choiceIds":[],"journeySteps":[],"variantIds":[],"excludedUseCaseIds":[],"languages":[],"queryTexts":[],"emptyQuery":null,"fromIndex":null,"toIndex":null,"contextItems":[],"contextParameters":[],"orContextParameters":null,"checkOtherContextParametersNotSetExclusive":null,"checkOtherContextParametersNotSetList":[],"filters":[],"orFilters":null,"checkOtherFiltersNotSetExclusive":null,"checkOtherFiltersNotSetList":[],"segmentationUniqueKeys":[],"scriptConditions":[{"expression":"{{template-some_results}}","operator":"","values":[],"orCondition":false}],"orScriptConditions":false}],"subActs":[{"parameters":[null],"act":{"format":"CPOActChapter","contexts":[],"subActs":[],"journeyStepUniqueKeys":null,"callToActions":null,"renderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_facet_navigation_api","label":"Facets (left)","parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_facet_top_api","label":"Top facets","parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_search_title_api","label":"Search Title","parameters":[{"name":"title","values":["{\"de\":\"Suchergebnisse für '$.requests[0].searchQuery^'\",\"en\":\"Search results for '$.requests[0].searchQuery^'\"}"]},{"name":"bx_alternate_title","values":["{\"de\":\"Korrigierte suchergebnisse für '$.responses[0].correctedSearchQuery^' statt '$.requests[0].searchQuery^'\",\"en\":\"Search results for '$.responses[0].correctedSearchQuery^' instead of '$.requests[0].searchQuery^'\"}"]},{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_toolbar_sort_options","label":"Toolber with sorting options","parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_product_list_api","label":"Product List","parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_product","label":null,"parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]}],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_toolbar_pagination","label":"Toolbar with pagination","parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]}],"parameters":null}}],"parameters":null}},{"parameters":null,"act":{"format":"CPOActBranching","contexts":[{"choiceIds":[],"journeySteps":[],"variantIds":[],"excludedUseCaseIds":[],"languages":[],"queryTexts":[],"emptyQuery":null,"fromIndex":null,"toIndex":null,"contextItems":[],"contextParameters":[],"orContextParameters":null,"checkOtherContextParametersNotSetExclusive":null,"checkOtherContextParametersNotSetList":[],"filters":[],"orFilters":null,"checkOtherFiltersNotSetExclusive":null,"checkOtherFiltersNotSetList":[],"segmentationUniqueKeys":[],"scriptConditions":[{"expression":"{{template-sub_phrases}}","operator":"","values":[],"orCondition":false}],"orScriptConditions":false}],"subActs":[{"parameters":[null],"act":{"format":"CPOActChapter","contexts":[],"subActs":[],"journeyStepUniqueKeys":null,"callToActions":null,"renderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_title_h1","label":"Subphrases title","parameters":[{"name":"title","values":["{\"de\":\"Keine Ergebnisse für alle Ihre Such Wörter für '$.requests[0].searchQuery^', aber hier sind Teil Ergebnisse\",\"en\":\"No results matching '$.requests[0].searchQuery^', but here are part of the results\"}"]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_product_list_api","label":"Subphrases products","parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_title_h3_see_all_link","label":"See all for the subphrase","parameters":[{"name":"title","values":["{\"de\":\"{{sub-phrases-queryText}}\",\"en\":\"{{sub-phrases-queryText}}\"}"]},{"name":"see_all_label","values":["{\"de\":\"sehe alle\",\"en\":\"see all\"}"]},{"name":"see_all_link","values":["{\"de\":\"?q={{sub-phrases-queryText}}\",\"en\":\"?q={{sub-phrases-queryText}}\"}"]},{"name":"accessor","values":["sub-phrases-{{#iterate-sub-phrases-queryText}}{{iterate-sub-phrases-queryText}}{{/iterate-sub-phrases-queryText}}"]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_product","label":null,"parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]}],"parameters":null}}]}],"parameters":null}}],"parameters":null}},{"parameters":null,"act":{"format":"CPOActChapter","contexts":[],"subActs":[],"journeyStepUniqueKeys":null,"callToActions":null,"renderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_title_h1","label":"No results title","parameters":[{"name":"title","values":["{\"de\":\"Leider haben wir für '$.requests[0].searchQuery^' nichts gefunden.\",\"en\":\"We are sorry, there are no products for '$.requests[0].searchQuery^'\"}"]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_title_h3","label":"Product suggestion title","parameters":[{"name":"title","values":["{\"de\":\"Das könnte dir auch gefallen\",\"en\":\"You might like\"}"]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]},{"visualElementModelUniqueKey":"rtux_sample_product_list_api","label":"No results products","parameters":[{"name":"accessor","values":["noresults"]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[{"visualElementModelUniqueKey":"rtux_sample_product","label":"Dynamic product","parameters":[{"name":"accessor","values":[""]}],"visualElement":null,"subRenderings":[{"parameters":[null],"rendering":{"contexts":[],"layoutModels":[],"visualElements":[],"parameters":null}}]}],"parameters":null}}]}],"parameters":null}}],"parameters":null}}],"indexesTrue":[0],"indexesFalse":[1]}}],"indexesTrue":[0],"indexesFalse":[1]}}],"parameters":[],"route":"narratives","reqParams":null,"$fromServer":true,"parentResource":null,"restangularCollection":false,"isSelected":true}]