我正在研究后端模块,所以Node.GetCurrent()不是一个选择.我需要找到一种方法来调用类似的东西Node currentNode = new Node(parentNodeId);并获取网站的根节点.我在XSLT中看过样本,但C#没有.有谁知道我怎么能做到这一点?
即使只是获取根节点的ID,我也可以调用new Node()它.
在umbraco中,是否可以检查特定节点是否存在某些属性?
例如,我有5个节点,我只有第一个节点的媒体选择器属性.我需要检查所有节点是否媒体选择器属性可用于节点?
介绍
花了两天时间试图让Umbraco与visual studio 2012,iis和某种页面构建器一起工作.在跟随包括Umbraco 5在内的许多指南之后发现Umbraco 5已经死了,我得到了它的工作.
我只是这样做,以帮助像我这样的新Umbraco用户在他们的发展中获得一个良好的开端.
使用VS 2012设置Umbraco
设置uSiteBuilder以便能够轻松地从Code构建DocumentTypes和Templates等
DocumentTypes - http://usitebuilder.vegaitsourcing.rs/tutorials?id=22389
模板 - http://usitebuilder.vegaitsourcing.rs/tutorials?id=22391
成品
当我们完成所有这些步骤后,我们准备在uSiteBuilder的帮助下从代码构建Umbracosites.
我需要一种方法来创建一个空的IOrderedEnumerable和IEnumerable>
//上面的IGrouping DynamicNode被stackoverflow剥离:(
原因:我创建了3个空列表类型(IOrdered,IGrouping,IEnumerable)然后基于一些其他信息(用户指定的选项,如按创建日期或按月分组的顺序)然后我调用一个函数来分配所述类型的列表.
(简短片段)
//DOESNT WORK THIS IS THE PART I NEED
IEnumerable<DynamicNode> baseList = Enumerable.Empty<DynamicNode>();
IOrderedEnumerable<DynamicNode> orderedList = (IOrderedEnumerable<DynamicNode>)Enumerable.Empty<DynamicNode>();
IEnumerable<IGrouping<string, DynamicNode>> groupedList = (IEnumerable<IGrouping<string, DynamicNode>>)Enumerable.Empty<DynamicNode>();
//ABOVE DOESNT WORK THIS IS THE PART I NEED
if (order)
{
if (group)
{
groupedList = returnGroupedOrderedList(nodeList, ascending, useFeatured, groupBy, orderBy);
}
else
{
orderedList = returnOrderedList(nodeList, ascending, useFeatured, orderBy);
}
}
Run Code Online (Sandbox Code Playgroud)
谁知道怎么做?
ps如果我还不够清楚请告诉我如何帮助你,帮助我:)
谢谢!
当我向我的服务器发布内容时,我是否应该发布`AppData\Temp'文件夹?
逻辑不是这样做,但无法在网上找到有关它的信息.
我觉得有一个关于Umbraco的一个非常简单的问题,但是一个尚未明确答案的问题.
我有一个剃刀模板,标准的东西,@显示变量和一些内联C#代码.
在我使用的模板中的某一点:
@Umbraco.RenderMacro("myCustomMacro");
Run Code Online (Sandbox Code Playgroud)
没有问题,一切都按预期工作.
现在,这个宏被插入到每个页面上(它在主模板中),但我有一个页面属性,允许内容作者通过页面属性中的复选框打开和关闭它,到目前为止,所有好的一切都完美无缺.
但是我现在发现,对于某个"文档类型",必须显示该组件,所以我一直试图找到一种方法来执行该检查.
现在在我看来,这应该像做这样的事情一样简单:
@{
if(CurrentPage.documentType == "someDocTypeAliasHere")
{
//Render the macro
}
else
{
// Render the macro only if the tick box is checked
}
}
Run Code Online (Sandbox Code Playgroud)
正如我所说,这是(或者我认为它应该是无论如何)一个非常简单的操作,但到目前为止似乎没有结果.
除了阅读我们umbraco上的每一页都提到与剃刀和@CurrentPage变量有关的内容之外,我已经通过剃须刀属性备忘单,并尝试了看似最常见的属性,包括(不具体)订购):
@CurrentPage.NodeTypeAlias
@CurrentPage.NodeType
@CurrentPage.ContentType
@CurrentPage.DocumentType
Run Code Online (Sandbox Code Playgroud)
和那些看起来像他们可能适合该法案的其他一些字母案例组合.
一致地,属性要么不存在要么是空的,所以在它们中没有可用的信息来帮助确定结果.
所以现在经过几天的圈子,并没有到达任何地方,我发现自己在这里..
(请注意:这不是搜索XSLT问题,也不是迭代子集合或类似的东西,因此任何发布XSLT,宏,页面模板或类似内容的请求都将被拒绝,我需要做的就是找到一个确定当前正在呈现的页面的文档类型的方法.)
干杯
美女
PS:忘了提,我正在使用
umbraco v 4.11.8(汇编版本:1.0.4869.17899)
以防万一有人问.
我刚刚扔进一把umbraco ASP.NET CMS对我的最新项目,我不知道这是怎么了一刀切,但我的设置Knockout.js做了所有的模板.
我不是太热衷于knockout.js但是到目前为止它一直很简单,除了当我开始添加一些jQuery的东西时,我遇到的问题是jQuery在敲除之前已经完成了填充页面的所有元素.
到目前为止,唯一对我有用的解决方案是我的所有jQuery内容都包含在setTimeout()函数中,这显然是不行的.
使jQuery和Knockout协同工作的最有效方法是什么,所以jQuery在敲除之前不会完成?
好吧,我对Umbraco/C#非常新,我想要做的是循环自定义媒体类型为我的应用程序的主页构建横幅,@bannerUrl总是返回images属性id而不是文件路径到资源.您将如何从Umbraco中创建的自定义媒体类型中检索图像文件路径.
请参阅代码示例:
var mediaFolder = Umbraco.Media(mediaFolderId);
var banners = mediaFolder.Children();
foreach (var banner in banners)
{
var bannerUrl = banner.image;
<div style="background-image:url(@bannerUrl);"></div>
}
Run Code Online (Sandbox Code Playgroud)
该变量bannerUrl始终返回默认的图像ID,而不是URL的文件路径.如何让文件路径正常工作?在VS中调试器中检查banner对象的内容时,我注意到Url属性有以下错误:
Url = 'banner.Url' threw an exception of type 'System.NotSupportedException'
Run Code Online (Sandbox Code Playgroud)
虽然我可以在.Url线上使用某些东西,但这似乎不起作用,所以任何建议如何使用Dynamic方式获取URL在Umbraco中的图像属性.
谢谢.
我是一名Web Forms开发人员,拥有一些.NET MVC经验,对Umbraco来说是新手,并且在我学习的过程中学习.
到目前为止,我一直在关注Umbraco文档和视频以进行设置,这意味着我的所有控制器都继承了包含常用功能的"Controller Base",它本身继承自SurfaceController.
最近,我注意到一些博主和外部参考资料引用了基类中的RenderMvcController而不是SurfaceController - 现在Umbraco文档还不清楚两者之间的真正差异,以及你应该使用它们的情况.
Surface控制器的想象使用场景(从Umbraco.Web.Mvc.SurfaceController继承)和自定义控制器(从Umbraco.Web.Mvc.RenderMvcController继承)之间是否有明显的区别?
谢谢!
是否可以将Umbraco与ASP.NET Core API项目一起使用?这两种技术可以一起工作还是我必须使用.NET 4.x?
:::::::::::::::::::::::::更新:::::::::::::::::::::::::::::::::::
我接受了@ mortenbock的答案,但我强烈建议对这个问题感兴趣的人也阅读下面的评论,其中@Tseng提供了一些非常有用的答案.
umbraco ×10
c# ×4
.net ×2
razor ×2
umbraco7 ×2
asp.net ×1
asp.net-core ×1
asp.net-mvc ×1
doctype ×1
iis ×1
javascript ×1
jquery ×1
knockout.js ×1
macros ×1