#sitecore #sitecore8
#sitecore #sitecore8
Вопрос:
Я новичок в sitecore, когда пытаюсь создать новый элемент для существующего шаблона. Я не могу вызвать свою основную базу данных.Вам нужно руководство о том, как создать новый элемент в sitecore и как показать его на моей запущенной странице sitecore? Просто нужна подсказка относительно потока после создания, как отобразить его на существующей странице sitecore.
<configuration type="Sitecore.Search.SearchConfiguration, Sitecore.Kernel" singleInstance="true">
<indexes hint="list:AddIndex">
<index id="system" type="Sitecore.Search.Index, Sitecore.Kernel">
<param desc="name">$(id)</param>
<param desc="folder">__system</param>
<Analyzer ref="search/analyzer" />
<locations hint="list:AddCrawler">
<core type="Sitecore.Search.Crawlers.DatabaseCrawler,Sitecore.Kernel">
<Database>core</Database>
<Root>/sitecore/content</Root>
<include hint="list:IncludeTemplate">
<application>{EB06CEC0-5E2D-4DC4-875B-01ADCC577D13}</application>
</include>
<Tags>application</Tags>
<Boost>2.0</Boost>
</core>
<core-controlpanel type="Sitecore.Search.Crawlers.DatabaseCrawler,Sitecore.Kernel">
<Database>core</Database>
<Root>/sitecore/content/applications/control panel</Root>
<include hint="list:IncludeTemplate">
<taskoption>{BDB6FA46-2F76-4BDE-8138-52B56C2FC47E}</taskoption>
</include>
<Tags>taskoption</Tags>
<Boost>1.9</Boost>
</core-controlpanel>
<master type="Sitecore.Search.Crawlers.DatabaseCrawler, Sitecore.Kernel">
<Database>master</Database>
<Tags>master content</Tags>
</master>
</locations>
</index>
</indexes>
</configuration>
Ответ №1:
Я напишу код, который я обычно выполняю:
Database database = Database.GetDatabase("master");
Item rooItem = database.GetItem(new ID(parentItemId));
if (rootItem == null) return null;
TemplateID pageTemplateId = new TemplateID(new ID(templateId));
string validName = ItemUtil.ProposeValidItemName(name);
using (new Sitecore.SecurityModel.SecurityDisabler())
{
Item newItem = rootItem.Add(validName, pageTemplateId);
if (newItem == null) return null;
//TODO: publish item
}
- Корневой элемент может быть элементом home
- templateId будет идентификатором вашего шаблона страницы (помните, что на этой странице должны быть определены макет и рендеринг)
Комментарии:
1. Спасибо @ Santiago Morla, но я получаю сообщение об ошибке при получении базы данных. как «Не удалось прочитать конфигурацию Sitecore»
2. Вы проверили свой файл web.config? эта ошибка означает, что у вас нет узла <sitecore> в вашей конфигурации. Что вы можете сделать, так это предоставить надлежащее разрешение папке — (снимите флажок с атрибута только для чтения)
3. Он есть в моем файле web.config, начинающемся с <база данных sitecore=»SQLServer»>
4. у вас есть узел <конфигурация>, где определены индексы? какой поставщик поиска вы используете?
5. да, я добавил свой <configuration> в свой вопрос. Это нормально?