2012-06-22 16 views
8

これは私をこのレートで夢中にさせてくれるでしょう。オーチャードのテーマのLayout.cshtmlファイルの中から、本体の内容のタイトルをどのように決定できますか?オーチャード - テーマのレイアウトからコンテンツのタイトルを取得する

シェイプトレーサを使用しようとしましたが、役立たないようです。これらのどれも私には何のテキストも与えません。

@Html.Title() 
@Model.Title     
@Model.Content.Parts_Common_Body.ContentItem.TitlePart 
@Model.ContentItem.Parts_Common_Body.ContentItem.TitlePart 

UPDATE: ここで最終的な結果は、私はそれを開始する前に、テーマを示す写真と一緒に、そのままテーマを維持したい見て必要なものを示すべきであるHTMLです。このHTMLは、私が関心を持っている部分のスニペットです。画像では、ContentHeaderゾーンにあるものが検索されます。

<div id="wrapper-header-inner"> 
     <div id="header-inner"> 
     @Zone(Model.ContentHeader) 
     <h1 class="pagetitle"> 
      Title Here 
     </h1> 
     </div><!-- #header-inner --> 
</div><!-- #wrapper-header-inner --> 
} 


<div id="wrapper-content"> 
    <div id="content"> 
     @if(Model.Content != null) { 
     <div class="main" class="@mainContentClass"> 
      @if(Model.Content != null && Model.LeftAside == null && Model.RightAside == null) { 
       <div id="maincontentFull" class="positionleft"> 
        @Zone(Model.Content) 
       </div> 
      } 
      @* Other layout possabilities if left and/or right asides are present *@ 
     </div> 
     } 
    </div> 
</div> 

Snapshot of the resulting layout

答えて

4

私がこの質問をして以来、オーチャードのアップデートはplacement.infoファイルを使用して特定の部分を他のゾーンに再ルーティングし、私が探していたことを達成できるようにする機能を含んでいました。

<Placement> 
    <Match ContentType="Page"> 
    <Place Parts_Title="/TitleZone"/> 
    </Match> 
</Placement> 
0

あなたのためにこの仕事をしていますか?

@Html.Title() 

ページタイトルを検索している場合は、これが有効です。しかし、あなたが直接TitlePartにアクセスするために探しているなら...

@Model.Title 

あなたはParts.Titleテンプレートで見れば、これを実行するコードの行があるので、これは動作します...

@{ 
    Layout.Title = Model.Title; 
} 
+3

これらのどれも私にタイトルを与えません。彼らは出力を持っているようにも見えません、私は彼らがSharpClayオブジェクトだと思います。どれが柔軟であるかのようにうれしい限り、本当にどのプロパティ/メソッドが実際に存在するかを試してみるのは面倒です。それはランダムに空中に射撃し、鳥が空から落ちるのを待っているのと同じです。 –

+0

ええ、それはトレードオフです。私はこれにBertrandと一緒にいる、何をしようとしている?これは少し後ろに見える。 –

+0

基本的に私は実装しようとしているテーマを持っています。そして、私が取り組んでいるテーマは、divをページのタイトルを保持するページDOMの上に置いています。しかし、それはメインページのコンテンツとは別の場所にあるので、コンテンツゾーン内のローカルゾーンではないため、そこにタイトルを配置する方法がわかりません。質問をHTMLの例で1分で更新します... –

2

レイアウトから、モデルはレイアウトオブジェクトです。コンテンツゾーンにレンダリングされるコンテンツは何も何もしませんが、そのコンテンツによって設定されるべきTitleプロパティがあります。それはまさにあなたが求めているものではありません:それは最終的にHTMLタイトルであるものです。

トップレベルのコンテンツゾーンにレンダリングされるアイテムのタイトルにアクセスするには、レイアウトは実際にはそれを探すのには適していません。私は正確にあなたが達成しようとしていることについてもっと知る必要があるでしょうが、これは逆のようです。実際には、そのようなコンテンツアイテムが1つあると想定することも、1つしか存在しないことも想定できません。

だから、あなたは何をしようとしているのですか?

関連する問題