我正在开发一个大型网站.开发人员问我哪个更喜欢sitefinity或umbraco.该网站将类似于维基百科,用户无需登录即可访问和编辑页面.我想问一下你对这两个csm系统的想法,你会推荐哪个内容网站具有社区感和wiki功能.谢谢
任何人都可以举例说明如何以编程方式将属性添加到Umbraco CMS中的现有文档类型中吗?这是我试过的:
var dt = DocumentType.GetByAlias("TestDocType");
dt.AddPropertyType(new DataTypeDefinition(-49),"testprop", "test prop");
Run Code Online (Sandbox Code Playgroud)
但它引发了一个例外:
Method not found: 'Void umbraco.cms.businesslogic.ContentType.AddPropertyType(umbraco.cms.businesslogic.datatype.DataTypeDefinition, System.String, System.String)'.
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我想检查umbraco中的cookie,是否有可能?
如果是,那么我如何在模板中设置cookie并可以在模板或xslt中检索cookie的值?
所以我正在使用Umbraco 6.12并且很难测试一个RenderMvcController.
我已经IApplicationEventHandler在我Global.ascx和Ninject中实现了正常运行并且正如预期的那样运行应用程序 - 一切都很好.
但是,对这些控制器进行单元测试是另一回事.我发现了这个,并添加了最新的回复:
http://issues.umbraco.org/issue/U4-1717
我现在在我的SetUp中有这个可爱的黑客:
Umbraco.Web.UmbracoContext.EnsureContext(new HttpContextWrapper(new HttpContext(new HttpRequest("", "http://www.myserver.com", ""), new HttpResponse(null))), ApplicationContext.Current);
Run Code Online (Sandbox Code Playgroud)
哪个已经绕过原来UmbracoContext不能为空,但现在抛出:
当前尚未在Umbraco.Web.PublishedCache.PublishedCachesResolver上初始化.您必须在尝试读取之前初始化Current.
已发布的缓存解析器似乎也隐藏在内部和受保护的东西之后,我无法使用反射来破解,因为我无法初始化SetProperty反射.
这真的令人沮丧,我喜欢v6,使用uMapper非常好.我可以随意将一个回购,服务,命令或查询注入控制器,生活很美好 - 我无法覆盖控制器!
任何有关这方面的帮助将不胜感激.
谢谢.
我为Umbraco站点的后端创建了一个自定义用户控件,允许管理员快速更新节点上的某些字段,而无需浏览内容树.
到目前为止,我的代码正在按预期工作:我可以毫无问题地更新简单的true/false属性.但是现在我正在尝试更新一个自定义数据类型的属性,我遇到了困难.
数据类型本身只是一个简单的下拉列表,列出了一系列可用性状态,即.可用,不可用,已售出和保留.数据类型存储文本值.
这是我的代码,它允许我更新我的真/假属性:
public void ChangeInteractiveStatus(string nodeId, bool chkValue)
{
var cs = ApplicationContext.Current.Services.ContentService;
var apartment = cs.GetById(Convert.ToInt32(nodeId));
apartment.SetValue("displayOnInteractive", chkValue);
cs.SaveAndPublish(apartment);
}
Run Code Online (Sandbox Code Playgroud)
这非常正常,因为此属性的数据类型是常规的真/假数据类型.
这是我用来更改自定义下拉列表数据类型值的代码:
public void ChangeAvailabilityStatus(string nodeId, string status)
{
var cs = ApplicationContext.Current.Services.ContentService;
var apartment = cs.GetById(Convert.ToInt32(nodeId));
apartment.SetValue("status", status);
cs.SaveAndPublish(apartment);
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的那样,差别很小,但这段代码无效.
为了检查在使用上面的代码更新属性时发生了什么,我检查了umbraco.config文件,发现有问题的属性显示如下:
<status><![CDATA[]]></status>
Run Code Online (Sandbox Code Playgroud)
但是,当我更改内容树中的值(不使用我的管理控件)时,该值将正确保存为:
<status><![CDATA[Sold]]></status>
Run Code Online (Sandbox Code Playgroud)
所以无论出于何种原因,当我尝试更新它被拒绝的价值时,我无法解决原因.
仅供参考我尝试输入以下值:
"<![CDATA[" + status + "]]>"
Run Code Online (Sandbox Code Playgroud)
然而这没有任何区别.
有谁知道我怎么解决这个问题?如何才能正确更新属性?
谢谢
我过去曾使用过Umbraco的早期版本,但目前正在评估Umbraco 7的新项目.我正在寻找比默认情况下建议的默认"txt"启动项目更传统的方法.还有其他与Umbraco 7兼容的入门套件吗?优选地,其具有新MVC Razor代码和页面层次结构的良好示例.
我创建了一个名为"Home"的文档类型,创建了此文档类型的一些内容以及其下的其他一些内容.我现在已经重命名为"HomePage",但现在在网站的任何页面上都出现以下错误.
我已经尝试重新发布网站,将模板名称更新为'HomePage'...不知道它在哪里获得'Home'的引用 - 数据库中的节点似乎已经更新,所以必须是别的(缓存已经据我所知清除但清除Temp文件夹和umbraco.config).其他说明,最新版本的Umbraco,使用MVC.
ContentTypeService无法找到别名为"Home"的内容类型.
我正在尝试访问登录的Umbraco用户,而不是成员,但我无法让它工作.
我尝试过以下方法但没有工作,它们都返回null:
umbraco.BusinessLogic.User.GetCurrent()
UmbracoContext.UmbracoUser
UmbracoContext.Security.CurrentUser
umbraco.helper.GetCurrentUmbracoUser()
Run Code Online (Sandbox Code Playgroud)
我可以使用以下代码访问用户,例如Name:
UmbracoContext.Application.Services.UserService.GetByEmail("name@company.com").Name
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这个代码作为用户和成员登录,只有用户,只有成员而根本没有登录,它总是返回相同的结果,null.
我已经在SurfaceController和UmbracoApiController中尝试了相同结果的代码.获取登录成员没有问题有没有Membership.GetUser();其他人经历过这个?
使用:Umbraco版本7.3.5汇编:1.0.5858.25602
这是我在这个stackoverflow中的第一篇文章.我希望能正确地做到这一点.我花了几个小时寻找没有结果的解决方案.我正在使用Umbraco版本7.5.7程序集:1.0.6219.11990
我使用Visual Studio Express 2015 For Web,如果我使用调试器(f5)运行项目,我没有问题,我的开发网站运行完美.如果我在没有调试器的情况下运行项目(ctrl + f5) ,无论是否使用调试器按钮都无法运行
这是抛出的异常:"System.InvalidOperationException:未在'〜/ Views/Homepage.cshtml'中找到视图." 我在所有创建的页面中都遇到了同样的问题,但我可以在任何模式下正确输入umbraco设置页面.有任何想法吗? 错误的截图
[编辑]包含主(布局)和主页的代码,但我在所有页面中都有相同的问题
这是"大师"
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@using Umbraco.RelationEditor.Extensions;
@using Comp.Umb.Lisa.Models;
@using Comp.Umb.Lisa
@{
Layout = null;
}
@Html.Partial(LisaContansts.Partials.MetaData)
<link rel="icon" href="~/images/favicon.ico" type="image/x-icon">
<link href="~/css/common.css" rel="stylesheet" />
<link rel="stylesheet" href="~/css/grid.css">
<link rel="stylesheet" href="~/css/style.css">
<link rel="stylesheet" href="~/css/camera.css">
<link rel="stylesheet" href="~/css/search.css">
<link rel="stylesheet" href="~/css/google-map.css">
<link rel="stylesheet" href="~/css/jquery.fancybox.css">
<link rel="stylesheet" href="~/css/subsribe_mailform.css">
<link rel="stylesheet" href="~/css/blocks.css">
<link href="~/css/header.css" rel="stylesheet" type="text/css" />
<script src="~/js/jquery.js"></script>
<script src="~/js/jquery-migrate-1.2.1.js"></script>
<script>
<!-- analytics -->
</script>
<!--[if lt IE 9]> …Run Code Online (Sandbox Code Playgroud) 我想创建/自定义Umbraco框架.为此,我需要在Umbraco文件夹中创建一个新的aspx页面并自定义数据库表字段.任何人都知道如何在Umbraco框架中创建自定义页面?