を使用することができますIEnumbrableを返した場合あなたは正しい答え
を取得するために私たちにシナリオを与えなければなりませんKentico v10を使用している場合は、Object
マクロを探しています。インデクサーを使用して
、あなたがからデータを取得する列を指定することができます:あなたのケースでは
{% Object[columnName] %}
を、それは次のようになります。
<tr>
<td>{% SKUNumber %}</td>
{% foreach (spec in Util.GetSpecFieldsForPageType(CurrentDocument.NodeClass, "RelatedModelsTable")) { %}
<td class="hidden-xs">{% Object[spec] %}</td>
{% } #%}
</tr>
ここで必要とする人のために、一般的な例ですカスタムマクロを使用しない例これにより、配列の列をハードコーディングするのではなく、DocumentID
、DocumentName
、およびNodeAliasPath
が動的にレンダリングされます。
<tr>
{% columns = "DocumentID,DocumentName,NodeAliasPath"; foreach (column in columns.Split(",")) { %}
<td>{% Object[column] %} </td>
{% } #%}
</tr>
EDIT:
KenticoのV9は、変換のためObject
マクロを持たないように、動的に繰り返し項目の値を解決する一つの方法は、Util.ResolveMacroExpession
を使用することで、供給パラメータとしての列名
繰り返し項目フィールドはnamed sourcesとして登録されているため、インデクサーやマクロメソッドでアクセスする方法はありません。ここで
はKenticoのV9で動作するように変更され、質問の作者からの同じ例です:
<tr>
<td>{% SKUNumber %}</td>
{% foreach (spec in Util.GetSpecFieldsForPageType(CurrentDocument.NodeClass, "RelatedModelsTable")) { %}
<td class="hidden-xs">{% Util.ResolveMacroExpression(spec) %}</td>
{% } #%}
</tr>
これはKentico 9で動作しますか? – techphoria414
私はKentico 9の解決策で自分の答えを更新しました –
ResolveMacroExpressionでタイプミスが修正されましたが、それ以外は私が必要としていたものでした。どうもありがとう。 – techphoria414