2

ネストされた辞書構造を作成し、キーを何らかの名前空間にする方法があるのだろうか? (何百もの辞書を作成せずに)

私が試してみました:

{
    "jcr:createdBy": "admin",
    "sling:basename": "en-content",
    "jcr:mixinTypes": ["mix:language"],
    "jcr:created": "Mon Mar 25 2013 07:00:18 GMT-0400",
    "jcr:language": "en",
    "jcr:primaryType": "sling:Folder",
    "test": {
        "jcr:createdBy": "admin",
        "jcr:created": "Mon Mar 25 2013 13:26:52 GMT-0400",
        "jcr:primaryType": "nt:folder",
        "item": {
            "jcr:createdBy": "admin",
            "jcr:mixinTypes": ["sling:Message"],
            "jcr:created": "Mon Mar 25 2013 07:00:18 GMT-0400",
            "sling:message": "Value",
            "jcr:primaryType": "nt:folder"
        }
    }
}

しかし、エントリhttp://localhost:4503/libs/cq/i18n/translator.htmlのみを示しています。test

JavaScript アプリから直接 CQ の辞書をフェッチするため、ネストされた JSON 形式は、開発者やコンテンツ作成者にとって便利です。

http://sling.apache.org/site/internationalization-support-i18n.htmlによると

mix:language ノードの (直接の) 子ノードには、キー文字列とメッセージを指定する 2 つの特別なプロパティが含まれている必要があります。

非直接の子からそれを取得する方法、または何らかの方法で回避する方法はありますか?

4

1 に答える 1

0

あなたが提供したサンプルは機能します (ただし、テスト用の nodetype として nt:unstructured を使用することをお勧めします。唯一の問題は、CQs トランスレーターをそのまま使用できないことです。それは、名前の間隔を認識していないためです。それを拡張することができます)。またはアドビに機能リクエストを提出してください。

HTH、(c)

于 2013-03-26T12:17:13.017 に答える