我是Umbraco的新手并做了一些测试/学习工作.
我创建了一个名为Home2的新控制器,请注意我没有Home2的doc类型.我想创建可以与Umbraco一起使用的非Umbraco视图/页面.在运行时我得到以下错误:

下面是我的Controller和视图代码,请指导我应该做些什么来创建可以与Umbraco一起使用的自定义控制器和视图?即使非Umbraco类型,我还需要创建文档类型吗?
控制器:
namespace Web.Controllers {public class Home2Controller:Umbraco.Web.Mvc.RenderMvcController {// // GET:/ Home /
public override ActionResult Index(RenderModel model)
{
//Do some stuff here, then return the base method
return base.Index(model);
}
}
Run Code Online (Sandbox Code Playgroud)
}
视图:
@ {ViewBag.Title ="索引"; }
您好,欢迎来到我们的页面....
谢谢
据我所知,除了细节之外,我需要去......
7至8 8至8(最新) 8(最新)至10 10至12
我假设没有从 7 到 12 的直接路线。我的项目是一个没有包的简单项目。
它只是内容、模型和模板。
在阅读了 Umbraco 的文档后,我找不到关于将 Umbraco 版本 7 升级到最新版本(在撰写本文时为版本 12)的明确答案。
感谢您的任何指导。
你好stackoverflow的人希望你可以帮我解决一个简单的问题,但在其他地方找不到解决办法,我刚刚和umbraco一起工作了一个星期,而且之前从未使用过mvc部分,所以对我来说都是新的.
所以最大的问题是如何制作一个宏来显示我从多媒体选择器中选择的这些图像,宏应该以显示结束.
<img src="img1.gif" height="50" width="50">
<img src="img2.gif" height="50" width="50">
Run Code Online (Sandbox Code Playgroud)
依此类推,具体取决于图像的数量.(大小只是一个例子)
我尝试过这样的事情
@var selectedMedia3 = @Library.MediaById(Model.mainImage);
<img src="@selectedMedia3.umbracoFile" width="@selectedMedia3.umbracoWidth" height="@selectedMedia3.umbracoHeight" alt="@selectedMedia3.Name"/>
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何解析图像的id到宏.当我选择多个文件时,我需要一个循环,但不知道如何循环多个媒体选择器数据,所以我现在有点迷失了.
我正在尝试创建一个Umbraco 7 MVC应用程序.这样做,我希望能够创建管理幕后数据的自定义控制器.通过我的研究,我发现使用SurfaceController是最成功的.但是,该路由将"/ umbraco/surface /"添加到页面.例如,我的Test Controller和View看起来像"/ umbraco/surface/Test".有没有办法管理这些路线,让它只是去"/测试"而不添加Umbraco路线?有关如何在Umbraco 7中创建自定义控制器的任何指导都会有所帮助!
我正在使用Umbraco 7,我想要一个局部视图来渲染左侧导航,从树的某个点开始,它找到一个具有特定属性集的页面.
我试过这个,但它只能从树中固定的深度1层开始工作.我希望从站点内的任何深度执行此操作,并将其重新递归,直到找到项目并将其作为左侧导航的根.
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
@* Get the item above this one that has a property of resetLeftNav ticked *@
var root = CurrentPage.AncestorOrSelf(1).Children.Where("resetLeftNav").First();
}
<ul class="nav left-nav">
@foreach(var page in root.Children)
{
<li class="">
<a href="@page.Url">@page.Name</a>
</li>
}
</ul>
Run Code Online (Sandbox Code Playgroud) 我在umbraco 7.4.3中有项目.我需要以编程方式为我在umbraco后台创建的每个特定对象创建媒体文件夹.
例如:我在后台办公室创建酒店,我去了我的功能"Umbraco.Core.Services.ContentService.Saved"的重载这个功能我正在尝试创建媒体文件夹(与我的新酒店名称相同)在名为"hotels"的现有媒体文件夹下放入酒店图片内.
我正在尝试使用Umbraco 7.4中的imember服务检索成员资格属性,而我可以抓取成员对象,我无法看到如何调用自定义属性值.见下面的例子.
// gets the member object successfully
var member = ApplicationContext.Current.Services.MemberService.GetByUsername("myusername");
member.GetProperty("position"); //not sure how to call this property correctly
Run Code Online (Sandbox Code Playgroud)
我可以使用旧方法访问此属性,请参阅下面的代码,但我想正确地执行此操作.
Member m = Member.GetMemberFromEmail("myEmail@hotmail.com");
var Posit = m.getProperty("position").Value;
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
ps我确定它是在umbraco文档中,我只是找不到位置.
我正在为Umbraco 7创建一个自定义属性编辑器.在controller.js中有一个错误,尽管我要清除缓存,但克隆代码仍然显示在缓存的Dependency Handler中,到目前为止我已经尝试过:
必须要做到这一点很容易.有什么建议?
尝试使家庭节点映射到umbraco中的“ /”路由时出现上述问题。我一直在遵循“混合框架”包中使用的方法
我的结构如下(网站位于树的根中)
Website node
|
- Home node
|
- Other nodes
Run Code Online (Sandbox Code Playgroud)
我创建了一个主页url提供程序,它返回正确的url,如下所示;
public string GetUrl(UmbracoContext umbracoContext, int id, Uri current, UrlProviderMode mode)
{
var content = umbracoContext.ContentCache.GetById(id);
if (content != null && content.DocumentTypeAlias.ToLower() == "home" && content.Parent != null)
{
//The home node will have / instead of /home/.
return content.Parent.Url;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
浏览到家庭节点(在后台)时,我检查了该项目的url属性,并收到以下错误;
该文档已发布,但其网址将与内容/网站(id = 1083)冲突
我从混合框架到字母都遵循了这种方法,我不确定哪里出了问题。
我也检查了这个博客;
我已将网站节点上的UmbracoInternalRedirectId属性设置为指向主节点。
我仍然找不到任何线索。有人可以帮忙吗?非常感谢
编辑:
我仍在尝试深入了解!
我已经完成了其他人对配置文件的建议,但这没有用。
为了更清楚地表达我的观点,我使用香草umbraco安装程序复制了错误,并将其上传到github;
https://github.com/Aeptitude/BrokenURLUmbraco
它只是使用一个sdf文件作为应包含的数据库。
在其下有一个根网站节点和一个主页节点。有一个umbracointernalredirectid指向下面的本地节点。如我的原始帖子中所述设置HomeUrlProvider。如果有人能抓住这个并帮助我,那将是很棒的。用户名是admin,密码是password11
非常感谢。