4

これらの要件を満たすために、SDL Tridion でスキーマを作成しようとしています。

私は2つの主要な分野を持っています:

  1. 「XYZ」として 1 つのサブフィールドを持つ ABCD
  2. 「名前」と「値」という 2 つのサブフィールドを持つ AAAA

どちらのメイン フィールドも繰り返し可能であり、移動可能である必要があります。

パターンの例は、要件ごとに次のようになります。

ABCD----AAAA----ABCD---AAAA
AAAA----ABCD----ABCD----AAAA

メイン フィールド AAAA および ABCD は、ある場所から別の場所に移動する必要があります。

作成したスキーマと最初のメイン フィールドを「AAAA」、2 番目のフィールドを「ABCD」としてコンポーネントを作成すると、ABCD を AAAA の上に移動できるはずです。

2 つのフィールドを持つ埋め込みスキーマを作成しようとしました。

  1. メイン フィールドを選択: リストとして、ABCD と AAAA のいずれかを TEXT タイプとして選択します。

  2. テキスト: テキストを入力します。

このスキーマをコンテンツ スキーマの一部として多値として追加し、「再投稿と繰り返し」を可能にしました。

直面している問題:

  • フィールドは両方のメイン フィールドに共通ではないため、データを入力することができず、両方のメイン フィールドに共通のサブフィールドではニーズが満たされません。

必要なソリューション:

  • 「ABCD」と「AAAA」という名前の 2 つの埋め込みスキーマを必須フィールドと共に作成した場合、これらのスキーマをメイン コンテンツ スキーマのドロップダウンの一部として追加できますか?

  • ユーザーが埋め込みスキーマ「ABCD」を選択すると、「XYZ」フィールドのみが表示されます。ユーザーが「AAAA」を選択した場合、そのサブフィールドを「名前」と「値」として表示する必要があります。

これが実現不可能な場合は、要件を満たすための最善の解決策を提案していただけますか?

レンディション部分には DWT TBB と XSLT TBB を使用しています。

ありがとうございました。

4

2 に答える 2

1

Tridion Web Schemas の領域内にとどまりたい場合、これは実際には不可能です。Chris が説明したように、これに複雑なスキーマを使用し始めると、コンポーネントを編集するためのフォーム ベースの UI が失われます。

私が考えることができる唯一の解決策は、ABCD と AAAA のすべてのフィールドを埋め込み可能なスキーマに追加し、すべてを非必須にすることです。コンテンツの検証が重要な場合は、コンポーネントの保存時にチェックを行うイベント システムを実装できます。ここで、条件付きチェックを行うことができます。埋め込み可能なスキーマの ABCD 部分を形成するフィールドが満たされている場合、AAAA フィールドを無視するか、クリアすることさえできます。

テンプレート コードは、表示するコンテンツを決定する必要があります。埋め込み可能なスキーマのすべてのフィールドが入力されている場合は、何を表示するかを選択する必要があります。それ以外の場合は、入力されたコンテンツのみを表示できます。埋め込み可能なスキーマのフィールド記述でテンプレートのロジックを明確にする必要があります。これにより、コンテンツ エディターが、どのシナリオでどのコンテンツが必要になるかを知ることができます (正確性を検証するために、保存時にイベント システムによってサポートされます)。

于 2012-04-24T13:18:06.643 に答える
1

これがすぐに使用できる SDL Tridion Web スキーマを使用してサポートされているとは思えません (ただし、文書化されていないスキーマの大幅な変更が最近製品に忍び込みました)。Tridion Web スキーマは、XSD のシーケンスを使用してフィールドの順序 (および番号) を制御します。これにより、2 種類の埋め込みスキーマを持つ複数値フィールドを持つことができなくなります。ただし、複雑なスキーマを使用することはできますが (つまり、独自のスキーマを設計するか、ソース タブを使用して GUI を使用して構築したスキーマを変更することにより、データを自分でモデル化します)、GUI を使用してコンテンツを編集することはできなくなります。

埋め込みスキーマではなく、複数値のコンポーネント リンク フィールドを使用できる方法はありますか? このようにして、フィールドをタイプ AAAA または ABCD の項目にリンクし、それらを任意の順序に並べることができます。

于 2012-04-23T14:09:42.727 に答える