您好我是Sitecore的新成員。我想知道如何通過Sitecore API訪問Sitecore Web數據庫中的任何表值,因爲我想從sitecore_web數據庫內的表中填充下拉列表。我們如何使用Sitecore查詢從Sitecore_Web數據庫訪問數據?如何使用Sitecore API訪問Sitecore_Web數據庫表
回答
我不建議你直接訪問Sitecore_Web數據庫。你想要做什麼? Sitecore Api有許多類,用於訪問sitecore項目的方法,但不直接訪問數據庫。 也許這個link會幫助你。
您需要創建一些項目來填充您的下拉列表。
項目是數據庫中的記錄。項目是Sitecore站點的基本構建塊。項目可以代表任何類型的信息,例如一段內容,一個媒體文件,一個佈局等。
項目總是有一個名稱和和ID唯一標識數據庫中的項目。項目有一個模板,用於定義項目包含的字段。一個項目表示單個版本的內容是單一語言。 使用Items可以從數據庫檢索項目。
一個項目可能有多個子項目或子項目。這些子項可以通過Children屬性進行訪問。在返回之前檢查結果項目的安全性和工作流程。因此,雖然項目可能有子項目,但當前用戶可能會被拒絕訪問它們。 Parent屬性定義此項目的單個父項目。 一個項目表示單個內容的單一語言版本。該項目的語言可以從Language屬性獲得,而版本可以從Version屬性獲得。
該項目必須處於編輯狀態,才能更改名稱或任何字段值。如果不是,則引發異常。要進入編輯狀態,使用BeginEdit方法並結束它,使用EndEdit方法。 EditContext類可以用作BeginEdit/EndEdit的快捷方式。
我得到這個從Sitecore的API文檔
作爲Sitecore的登山者說,你就不會直接訪問數據庫Sitecore的 - 這是不是這是由Sitecore的支持。
- 檢索包含代表你的下拉菜單項子項中的Sitecore的樹中的節點
- 檢索子項
- 數據綁定您的下拉列表:通常你會通過Sitecore的API使用以下步驟實現這一目標子項
在ASCX的列表,你可以有這樣的事情:
<asp:DropDownList ID="exampleDropDown" runat="server"/>
,並在後臺代碼:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
var item = Sitecore.Context.Database.GetItem("/sitecore/content/SiteData/StuffForADropDownList");
if (item != null)
{
exampleDropDown.DataTextField = "Text";
exampleDropDown.DataValueField = "Value";
exampleDropDown.DataSource = from i in item.Children.AsEnumerable<Sitecore.Data.Items.Item>()
select new
{
Text = i["Text"],
Value = i.ID.ToString()
};
exampleDropDown.DataBind();
}
}
}
這個例子假設你/sitecore/content/SiteData/StuffForADropDownList
一些子項有一個項目,每個有一個名爲Text
場。
好的,很明顯。但我的問題是我有一個不同的列在其中的Excel工作表,我必須使用Excel工作表列數據來填充dropdownlist.Is有任何方式在Sitecore內容編輯器從Excel表導入我們想要的列並將它們作爲項目插入Sitecore Home,以便我們可以從指定的路徑獲取這些項目並按照上面提到的方式填入droddown。 – Puneet
Sitecore內容編輯器沒有內置任何用於導入數據的內容,但可以使用一些自定義C#代碼完成此操作。這個答案是一個有用的起點:http://stackoverflow.com/questions/9989971/sitecore-how-to-import-content#9990913 –
好填充下拉對我來說很清楚。現在我必須在所有下拉值的基礎上實現搜索功能。我將如何在sitecore 7中進行搜索? – Puneet
在Sitecore中的默認設置,您將永遠不會使用使用Sitecore API填充的實體數據庫對象。 Sitecore API將爲您提供來自Sitecore後端的數據。 如果你想填充一個下拉列表的項目作爲數據源嘗試這樣的事情:
var items = Sitecore.Context.Item.GetChildren()。toList(); yourdropdown.Datasource =項目; yourdropdown.Databind();
顯然正確設置您的Datatext和Datevalue鍵,但這是標準的.Net。 在Sitecore中,絕對不要直接從數據庫中獲取數據並使用Sitecore API。
請使用內置的服務訪問sitecore項目。它提供了在Get Item方法中選擇數據庫的選項。
你可以用下面的URL訪問Sitecore的服務:
{你網站} /sitecore/shell/webservice/service.asmx
- 1. Sitecore 6.5訪問分析數據庫
- 2. 使用Weka API訪問MySql數據庫
- 3. 如何使用數據庫訪問
- 4. 如何使用javascript訪問數據庫
- 5. 如何使用Future訪問數據庫
- 6. 如何使用WebSQL訪問數據庫?
- 7. 如何在手提電腦上使用api訪問數據庫
- 8. 訪問數據庫使用兩個表
- 9. 使用訪問數據庫
- 10. 如何訪問數據庫
- 11. 如何使用visusal C++ 2010訪問訪問數據庫?
- 12. Python:如何使用SQLAlchemy訪問MySQL數據庫表
- 13. 如何使用Laravel模型訪問現有的數據庫表?
- 14. 如何使用java在訪問數據庫中創建表格
- 15. 如何使用Aure App Service表訪問數據庫視圖?
- 16. 問題使用SQLite設置Django數據庫訪問API
- 17. 如何使用Python訪問並從數據庫獲取數據?
- 18. 如何用C#獲得訪問MDB數據庫表的列表
- 19. 數據庫數據訪問
- 20. 如何安裝python數據庫庫以使用robotframework - API問題
- 21. 如何在Oracle中使用Javascript訪問Oracle數據庫表列數據ApEx
- 22. 如何使用複選框值訪問數據庫使用PHP?
- 23. 使用Python訪問Facebook API數據
- 24. 訪問數據庫的用戶列表
- 25. 通過Sitecore API獲取數據庫的問題
- 26. 使用URLMON API函數從Quandl.com數據下載到訪問數據庫,用VBA
- 27. 訪問數據庫
- 28. 如何在android中訪問多個數據庫表數據?
- 29. 如何從父數據庫訪問的SQL Server表的數據
- 30. nodejs API查詢如何訪問數據
什麼表?它是一個自定義表嗎?我認爲你應該閱讀Sitecore API,就像@sitecore登山者說的那樣。以下是一些關於查詢Sitecore的文檔:http://sdn.sitecore.net/upload/sdn5/developer/using%20sitecore%20fast%20query/using%20sitecore%20fast%20query001.pdf –