簡體   English   中英

Umbraco 7:將屬性映射到頁面並檢查是否與當前頁面關聯

[英]Umbraco 7: Map property to page and check if is associated with current page

在“內容”部分中,我有一個屬性編輯器(Archetype),該編輯器允許獨立於內容樹來設置網站的內容。 我只需要根據我當前所在的頁面顯示一個類別中的子類別。 我現在所擁有的是:

//get the content with id of 1123 from Content Section, type DynamicPublishedContent
var catItems = Umbraco.Content(1123).categoryItem; 

foreach (var item in catItems)
{
  foreach (var sub in item.GetValue<ArchetypeModel>("subCatItem"))
  {
    <div class="tbl_dt">
        <p class="offerName">@sub.GetValue("offerName")</p>
        <p class="departurePort">@sub.GetValue("departurePort")</p>
    </div>
 }
}

有關其他詳細信息,請參見此參考: Umbraco 7:基於當前頁面從同一屬性獲取字段

問:如何將屬性映射到內容頁面,並檢查是否與當前頁面關聯並僅顯示映射了當前頁面的字段? 可以通過向其添加content picker來完成此操作嗎? 如果是這樣,我如何檢查它是否與當前頁面相關聯?

首先,按ID引用代碼中的內容並不是一種好習慣。 而是使用保證不會被用戶刪除的文檔類型別名。

現在,要檢查當前頁面上是否存在屬性,您需要做的就是

@if (CurrentPage.HasValue("subCatItem"))
{
   string propertyStoredValue = CurrentPage.subCatItem.ToString();
}

其中“ subCatItem”是您要檢查的屬性的別名。 在這種情況下,屬性的類型無關緊要,請記住,如果該屬性不是強制性的,並且未賦予其值,則即使該屬性存在於文檔類型上,上述語句也將評估為false(有意義嗎?)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM