1. データソース

データソース クライアント

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

SDK は、データソースで CRUD 操作を実行するデータソース クライアントを提供しており、オプション リストとも呼ばれます。

注意

次のコード例の client 変数は ContentHubClient インスタンスを意味します。JavaScript SDK を使用する場合、変数名は自由に選択できますが、ドキュメントの例では client という名前が使われています。

データソースの取得

データソースは、名前で取得できます。

import { IOptionList } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/base/option-lists/option-list";

var result: IOptionList = await client.optionLists.getAsync("name");

これにより IOptionList オブジェクトが返されますが、次の方法で適切なタイプのデータソースにダウンキャストすることをお勧めします。

import { IHierarchicalOptionList } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/base/option-lists/hierarchical-option-list";

var hierachicalDataSource : IHierarchicalOptionList = await client.optionLists.getAsync("name") as IHierarchicalOptionList;
import { IFlatOptionList } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/base/option-lists/flat-option-list";

var flatDataSource: IFlatOptionList = await client.optionLists.getAsync("name") as IFlatOptionList;

データソースの値を変更できるようにするには、データソースを適切なタイプにダウンキャストする必要があります。IOptionListType プロパティを使用すると、適切なデータソースのタイプを実行時に識別できます。

データソースの作成

階層構造のデータソースを作成するには、最初にファクトリがインスタンスを作成する必要があります。その後は、クライアントを使用してインスタンスを保存できます。データソースはメディア タイプに対して使用でき、すべてのタイプのメディアは、さらに多くのサブ値を持つことができます。

この例では、「mp4」が動画メディア タイプのサブタイプとして追加されています。

import HierarchicalOptionListValue  from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/base/option-lists/hierarchical-options-list-value";

var dataSource = await client.optionListFactory.createHierarchicalOptionList("MediaType");
dataSource.labels["en-US"] = "Media type";

var video = new HierarchicalOptionListValue(
"Video",
{ "en-US": "Video" }
);

dataSource.values.push(video);

var mp4 = new HierarchicalOptionListValue(
"MP4",
{ "en-US": "mp4" }
);

dataSource.values.push(mp4);

var image = new HierarchicalOptionListValue(
"Image",
{ "en-US" : "Image" }
);

dataSource.values.push(image);

await client.optionLists.createAsync(dataSource);

データソースの更新

次の例では、フラットな Colors データソースが、Red という色で拡張されています。

import FlatOptionListValue from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/base/option-lists/flat-option-list-value";
import { IFlatOptionList } from "@sitecore/sc-contenthub-webclient-sdk/dist/contracts/base/option-lists/flat-option-list";

var dataSource = await client.optionLists.getAsync("Colors") as IFlatOptionList;

var red = new FlatOptionListValue("Red");
red.labels["en-US"] = "Red";

dataSource.values.push(red);

await client.optionLists.updateAsync(dataSource);

データソースの削除

次の例では、Name データソースが削除されます。

await client.optionLists.deleteAsync("name");
この記事を改善するための提案がある場合は、 お知らせください!