11

現在、私は User Interface 2012 を実装しており、いくつかのハードルの後、問題なく動作します。私は、UI で編集可能なフィールドの使いやすさを最適化することを検討しており、関連する課題に遭遇しました。

コンポーネント内には、必須ではないいくつかのフィールドがあり、それらが空の場合は表示されません。エディターが UI に入り、上記のフィールドを保持するコンポーネントを選択するとすぐに、 や などのいくつかのラベルが表示され<add text>ます<add internal link to component media>

フィールドが空でない場合、追加の html がページに追加されるため、これらのラベルを内容をより説明するものに変更しようとしています。

例 (Razor Mediator を使用):

@if(Component.Fields.location != null) {
  <span class="row">
    <strong>Where:</strong>
    <span>@RenderComponentField("location", 0)</span>
  </span>
} else {
  <tcdl:ComponentField name="location"></tcdl:ComponentField>
}

場所フィールドが空の場合、単に と表示され<add text>ます。に変更したいと思い<Add location to event>ます。

tcdl タグの間に何かを入れてみましたが、UI2012 で編集していなくても表示されます。SDL Live コンテンツ サイトを検索しましたが、そのサイトへの参照が見つかりません。誰にもアイデアがありますか?

4

3 に答える 3

3

空のフィールドのプレースホルダー テキストをカスタマイズする方法はサポートされていません。ただし、次のメソッドをオーバーライドする拡張機能を作成することもできます。

Tridion.Web.UI.SiteEdit.ComponentField.prototype.setPlaceholderType

このメソッドは、プレースホルダー テキストの設定を担当します。

于 2012-06-25T10:48:47.827 に答える
2

これをチェックしていたときに同じものを探していましたが、簡単に実行できるとは思いません。少し深く調べてみると、ラベルがリソース ファイルの一部であることがわかりましたTridion.Web.UI.Editors.SiteEdit.Strings.resx EmptyTextField。これをいじるオプションを追求しませんでした。これは、サポートされている方法でも文書化されていないためです。さらに、各フィールドに独自のテキストを追加する柔軟性がまだありません。

あなたの質問に戻りますが、私はアイデアを投げかけていました (必ずしもあなたの質問に答える必要はありません)。専門家がいくつかの貴重な提案を提供できるように、ここで共有したいと思います. 私はこのオプションを試しませんでした (作業が多すぎると感じました)。これは私の長い ToDo リストに含まれており、いくつかの欠点もある可能性があります。

  • 「デフォルト値」でスキーマ フィールドを作成します (例: 「場所をイベントに追加」)。デフォルトのテキストが UI に表示されます。

  • Schema フィールドの値がデフォルトと同じである場合に、テンプレートを次のように記述します。

@@if(Component.Fields.location.value == [Compare the schema field definition - default value of the field]) { 
    //--> Note: I could not find a straight API for this.. but I am assuming it should be there.
    @RenderComponentField("location", 0)
} else {
    <span class="row">
        <strong>Where:</strong>
        <span>@RenderComponentField("location", 0)</span>
    </span>
}
  • ライブ ターゲットなどのデフォルト テキストを表示したくないため、有効なターゲット タイプ UI に基づいて上記の条件チェックを実行します。

また、改善要望として Tridion Idea を投稿するのも良いでしょう。まだ何もない場合は、数日中に行います。

于 2012-06-22T14:16:27.177 に答える
1

フィールドレベルで著者の指示を与えるための簡単な方法になるので、私はこのアプローチが好きです. 通常、説明フィールドを使用して、CME でこの種のヘルプを提供します。

インライン編集の場合、スキーマ (およびプロトタイプ コンポーネント)、テンプレート、指示、および「保存先」コンテキストを定義するコンテンツ タイプ(SDL ライブ コンテンツ - ログインが必要) も別のオプションです。作成者が置き換えるダミー テキストを提供できます。

チップ:

  • プロトタイプ コンポーネントにサンプル コンテンツや説明 (Lorem Ipsum) を追加します。
  • コンテンツ タイプの説明に追加の指示を追加します。
  • プロトタイプ コンポーネントのフォルダ以外の保存場所を選択します。

それがどうなるか教えてください。:-)

于 2012-06-22T16:20:00.073 に答える