2012-01-20 3 views
2

にImageフィールドのためのサイトコアのプロパティへのアクセス(特に "に興味「寸法」および「比率維持」チェックボックス)をコードビハインドファイル(blah.ascx.cs)を介して入力します。 [元のサイズに関係なく]すべての画像のサイズが一貫していることを確認する]<strong>サイトコア</strong>での画像フィールド</strong>(S)のための<strong>プロパティは</strong>私は<strong>アクセス</strong>(その後、<strong>変更)したいユーザーコントロールのコードビハインド

これらのプロパティは手動で追加できますが、コンテンツ作成者が「忘れる」場合は、画像のディメンションを追加するには、私のサブレイアウトが壊れないようにしてください。したがって、私はその点検が必要です。

これらのプロパティにコードでアクセスして変更する方法はありますか?ここで

私は、コードを経由してアクセスして変更したい正確に何を示していた画像です:

enter image description here

+0

あなたは' FieldRenderer'または正規 '<画像.../ASPを>使用しています:

ここではサンプルの抜粋ですか? –

+0

私は通常のを使用しています – YashG99

答えて

5

あなたが<asp:Image ... />を使用してC#の経由ImageUrlを結合している場合は、そのように、C#でImageFieldにアクセスし、プロパティを取得することができます:

Sitecore.Data.Fields.ImageField field = item.Fields["My Image Field"]; 
// you can now access: 
// field.Width 
// field.Height etc... 

あなたが<sc:Image ... />を使用している場合レンダラーまたはレギュラー<sc:FieldRenderer ... /><sc:FieldRenderer ... />をイメージパラメータとして使用することをお勧めします。as documented here。 `:

<sc:FieldRenderer FieldName="My Image Field" Parameters="w=100&h=200&as=1" runat="server" /> 
+0

パーフェクト!私は今プロパティを取得または設定できます。ありがとう! もう1つの選択肢として、**「縦横比を維持する」**チェックボックスを取得または設定できますか? – YashG99

+1

'Sitecore.Data.Fields.ImageField'クラスには比率のプロパティがありません。 'FieldRenderer'コントロールは、アスペクト比を維持するために、私の例に示すように' as = 1'パラメータをとります。 'ImageField'との比率を維持するためには、比率を維持するための幅と高さへの簡単な除算演算を行うことができます。 –

+0

ああええ!私があなたに(愚かな)質問をしたとき、私の脳細胞はどこに行きましたか?とにかく、ありがとう!私は今数学をやるよ! :) – YashG99

1

は、このサブレイアウトに表示されたときにすべての画像は、一貫性の大きさを持っていることを確実にするために(関係なく、元のサイズ

の私はFieldRendererクラスを使用することをお勧めしたい、または< SC:画像>をサブレイアウトにレンダリングし、「mh」(最大高さ)と「mw」(最大幅)パラメータを指定すると、レイアウトに常に収まるようになります。

現在のパラメータについての詳細を読むことができる - (ここで確認することができません)http://sdn.sitecore.net/Articles/XSL/5%203%20Enhancements/Image%20Enhancements.aspx

1

100%わからない、しかし、あなたがのImageFieldとしてフィールドを取得する場合は、それらの値にアクセスすることができるはずです。

var cur = Sitecore.Context.Item; 
Sitecore.Data.Fields.ImageField imgfield = cur.Fields["imagefieldname"] as Sitecore.Data.Fields.ImageField; 
//imgfield.<properties> 
関連する問題

 関連する問題