- JS SDKリファレンス
ウィジェットテンプレート
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore Searchウィジェットは、特定の体験を提供するためにページやメールメッセージに追加される動的なコンポーネントです。ウィジェットの主な目的はSearchのコンテンツを表示することです。コンテンツパーソナライズウィジェットが既に設定されたコンテンツのみを表示するのに対し、マーチャンダイジングウィジェットはコンテキストやユーザーのインタラクションに基づいてデータリクエストを修正できます。
SearchJS SDK for Reactパッケージには、rfk_idでのみインスタンス化可能な以下のウィジェットテンプレートが含まれています。実行時にJS SDKウィジェットのデータを求め、設定や表示に必要なデータを供給します。
!注Search Results、preview search、recommendationウィジェットは、機能的なReactコンポーネントを関連付ける必要があるため、JS SDKには含まれていません。
JSのSDKは、クエリフックや高次関数のみを提供し、コンポーネントやテンプレートを作成するために使えます。
Basic recommendation widgetテンプレートの解剖学
UI Components CLIパッケージでウィジェットがどのように書かれているかを理解するために、styled recommendationウィジェットのコードをより小さなブロックに分解しています。各ブロックにはウィジェットテンプレートのさまざまな要素を説明するために注釈が付けられています。
-
import ( React ) from 'react'; import { WidgetDataType, useRecommendation, widget, RecommendationInitialState } from '@sitecore-search/react'; import { Presence } from '@sitecore-search/ui'; import { ArticleCardStyled, GridStyled, LoaderAnimation, LoaderContainer, RecommendationContainer, TitleStyled, } from './styled';
type ArticleModel = { id: string; name: string; author?: string; url?: string; image_url?: string; source_id?: string; }; type RecommendationProps = { title?: string; itemsToDisplay?: number; }; type InitialState = RecommendationInitialState<'itemsPerPage'>;
2. export const RecommendationBasic = ({ title = '', itemsToDisplay = 6 }) => {
3. export const RecommendationBasicHorizontalStyledComponent = ({ title = '', itemsToDisplay = 6 }: RecommendationProps) => { const { widgetRef, actions: { onItemClick }, queryResult: { isLoading, isFetching, data: { content: articles = } = {} }, } = useRecommendation<ArticleModel, InitialState>({ state: { itemsPerPage: itemsToDisplay, }, });
4. const loading = !isLoading && !isFetching && articles.length > 0;
5. return (
6. const RecommendationBasicWidget = widget(RecommendationBasicHorizontalStyledComponent, WidgetDataType.RECOMMENDATION,"content");
7. export default RecommendationBasicWidget;
以下はBasic recommendationウィジェットの全コードです。検索結果およびpreview searchウィジェットについては、それぞれのクエリフックをご利用ください。
import React from 'react'; import { WidgetDataType, useRecommendation, widget, RecommendationInitialState } from '@sitecore-search/react'; import { Presence } from '@sitecore-search/ui'; import { ArticleCardStyled, GridStyled, LoaderAnimation, LoaderContainer, RecommendationContainer, TitleStyled, } from './styled';
type ArticleModel = { id: string; name: string; author?: string; url?: string; image_url?: string; source_id?: string; }; type RecommendationProps = { title?: string; itemsToDisplay?: number; }; type InitialState = RecommendationInitialState<'itemsPerPage'>;
export const RecommendationBasicHorizontalStyledComponent = ({ title = '', itemsToDisplay = 6 }: RecommendationProps) => {
const { widgetRef, actions: { onItemClick }, queryResult: { isLoading, isFetching, data: { content: articles = } = {} }, } = useRecommendation<ArticleModel, InitialState>({ state: { itemsPerPage: itemsToDisplay, }, });
const loading = !isLoading && !isFetching && articles.length > 0;
return (
const RecommendationStyledWidget = widget(RecommendationBasicHorizontalStyledComponent, WidgetDataType.RECOMMENDATION, "content");
export default RecommendationStyledWidget;