我想在Sitecore 8 MVC上创建基于Razor的面包屑.我创建了一个页面模板,其中包含一些可用于它的属性.创建了视图渲染并将其添加到布局项(页面).我用while循环为这个渲染创建了一个cshtml文件
<ul>
@{
var parentItem = Html.Sitecore().CurrentItem;
while (parentItem != null)
{
if (parentItem["Include in breadcrumb"] != "0")
{
<li>@parentItem["Short Title"]</li>
}
parentItem = parentItem.Parent;
}
}
</ul>
Run Code Online (Sandbox Code Playgroud)
但它对我来说看起来不是很理想,我想使用Glass Mapper
我创建了一个具有祖先访问权限的类
public class Breadcrumb
{
[SitecoreQuery("ancestor-or-self::*[@#Include in breadcrumb#='1']", IsRelative = true)]
public virtual IEnumerable<Breadcrumb> Ancestors { get; set; }
[SitecoreField(FieldName = "Include in breadcrumb")]
public virtual bool IncludeIn { get; set; }
[SitecoreField(FieldName = "Short Title")]
public virtual string Title { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
但是我不知道怎么对sitecore"说"使用它来进行我的View渲染.我没有任何特定的页面控制器.
是否可以使用一些玻璃映射器与View渲染?
我们刚刚将使用 lucene 搜索提供程序的 7.2 升级到 8.1。该网站严重依赖 lucene 来搜索和索引文章,以便它可以显示为列表。
我们已经有一个 SOLR 实例设置。我们需要将此 Lucene 转换为 SOLR。如果我得到以下指导,我将不胜感激:
我们如何将自定义计算的 lucene 索引和字段转换为 Solr?
除了核心和端点的配置之外,还有哪些代码更改等需要我们注意?
索引重建事件在 SOLR 方面是如何工作的。他们(CD)是否都尝试构建一次或按顺序构建,或者只有一个触发器构建。
更新:
我切换到SOLR。我可以重建所有的 CORES 并且 web_index 显示 11K 文档。但是该页面不会返回任何结果。下面是代码片段,如果我能得到关于我做错了什么的帮助,不胜感激。这在 Lucene 中运行良好:
public IEnumerable<Article> GetArticles(Sitecore.Data.ID categoryId)
{
List<Article> articles = null;
var home = _sitecoreService.GetItem<Sitecore.Data.Items.Item>(System.Guid.Parse(ItemIds.PageIds.Home));
var index = ContentSearchManager.GetIndex(new SitecoreIndexableItem(home));
using (var context = index.CreateSearchContext(SearchSecurityOptions.DisableSecurityCheck))
{
var query = context.GetQueryable<ArticleSearchResultItem>().Filter(item => item.Category == categoryId);
var results = query.GetResults();
articles = new List<Article>();
foreach (var hit in results.Hits)
{
var article …
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法,我可以使用Sitecore Powershell批量更新媒体项目,但很高兴在这里提出任何其他建议.
我需要一种方法来替换另一个媒体项的Sitecore媒体项的blob值.Sitecore Powershell甚至可以实现这一点吗?
我试图以两种不同的方式应用我的自定义规则.当我单击个性化按钮并在那里应用规则时,它正在工作,但是当我点击渲染Presentation -> details -> layout details -> control properties
并在那里启用个性化选项卡上的规则时它不起作用.我想知道为什么这种方法在这种情况下不起作用?
以下是我正在做的更多细节:
我正在使用条件渲染实现个性化.这是Sitecore 8解决方案,布局和渲染都是MVC.我在规则引擎(设置 - >规则)上设置了自定义条件代码.我的最终规则在规则集编辑器中看起来像这样:
Rule 1
Where the Parameter country has a value that is equal to sg set data source to Singapore
Run Code Online (Sandbox Code Playgroud)
我还Marketing Center -> Personalization -> Rules
使用相同的自定义条件定义了条件渲染规则
如果我通过按个性化按钮直接在设备编辑器上应用规则集并在那里配置它,它就可以工作.但是,当我在控件属性上启用条件呈现规则时,它无法正常工作.为什么?
编辑
在某处我读到全局规则不适用于MVC组件.这是怎么表现出来的?如果是这种情况,营销中心的哪些区域将不适用于MVC组件?
我正在使用Sitecore 8.1和GlassMapper来映射C#中的字段.我正在为开发的组件使用数据源.
我需要能够从我们当前所在的页面中获取一个字段.您知道如何在Sitecore中定义页面对象吗?
我正在使用Solr
所有indexing
,所以我在solr中创建了所有索引并启用了所有必需的solr相关配置,但是当我从索引管理器构建索引时,我只能看到
sitecore_core_index
sitecore_master_index
sitecore_marketing_asset_index_master
sitecore_marketingdefinitions_master
sitecore_testing_index
sitecore_suggested_test_index
sitecore_fxm_master_index
sitecore_list_index
social_messages_master
Run Code Online (Sandbox Code Playgroud)
我只建了这些.如果我尝试从网络数据库中搜索,我没有得到任何结果.
在默认的sitecore安装中,我可以在Data => Indexes中看到16个索引文件夹,其余的在哪里?如何建立那些?
或者这是预期的?
我有简单的 Sitecore8/PowerShell 脚本,在其中删除图像子项并发布父项:
$child1 = Get-Item $child1Path
Remove-Item $child1 -Force -Permanently
Publish-Item -Item $parent1 -Recurse -PublishMode SingleItem -Language "en*"
Run Code Online (Sandbox Code Playgroud)
运行时无删除且无错误。
我怎样才能找出它不删除的原因?
是否可以将管理URL从/ sitecore更改为其他任何内容,以便没有人知道网站的管理员访问URL.如果是,那么如何做到.
sitecore ×10
sitecore8 ×10
glass-mapper ×2
powershell ×2
solr ×2
azure ×1
c# ×1
lucene ×1
razor ×1
sitecore-mvc ×1
sitecore8.1 ×1