2016-08-03 6 views
0

Sitecoreのすべての画像にtitleタグを追加しようとしていました。 John Westに解決策がありましたhereRenderFieldsパイプラインでSitecoreのすべてのフィールドが表示されない

問題は、私のパイプラインにすべてのレンダリングフィールドがありません。ソリューションをデバッグすると、ブレークポイントは4〜5回しかヒットせず、フッタの下の異なるフィールドになります。興味深いことに、それらのすべてが「リッチテキスト」フィールドだけです。私は何が欠けていますか?なぜ私はすべてのフィールドがSitecore.Pipelines.Renderfield.RenderFieldArgsの下になっていないのですか?

また、Glassmapperを使用して、画像をレンダリングするのに@RenderImageを使用しています。それが理由だろうか?

答えて

0

GlasMapperはRenderFieldパイプラインをノーマルモード(編集モードで実行)で実行しません。この問題は文字フィールド型の場合はan issue on Githubとして以前に発生しています。

creating a custom html helper extensionでパイプラインを強制的に実行することもできます。これは、Glassが編集モードで動作するのとほぼ同じです。

あるいは、SitecoreFieldImageMapperを継承してからMapToImageのメソッドをオーバーライドすることをお勧めします。creating a custom Glass Mapper Data Handlerこれを既存のマッパー登録の前にプロパティのタイプとして使用するか、または置換/挿入をDataMapperConfigFactoryに置き換えてください。

+0

ありがとう@jammykam ..私はそれを推測しました。実際にはtitle属性だけを追加したかったのですが、renderimageオプションを使用する代わりに、imgタグを直接変更する方が簡単でした。しかし、そこに価値があるにもかかわらずtitle属性がレンダリングされないのは驚きです。私はそれを別個の質問として調達しました。 –

関連する問題