我们正在为我们的项目实施CMS,目前广泛使用asp.net母版页和CSS.此外,应用程序是数据驱动的,并且使用了gridview和listview之类的控件.经过一番搜索,我们将两个CMS dotnetnuke和umbraco归零.现在我的问题是:
请提供链接以供进一步参考.
提前致谢.
我即将创建一个网站,作为销售家具的公司的公共场所,但在用户登录后,他会看到更多的选择.内部新闻,下载文件,定制定价,新闻简报等 - 批发客户的东西.
我想快速完成并轻松维护/扩展它.我是asp.net开发人员,虽然我可以用python,php编写它,不管怎么说(我也知道这些),我还是喜欢asp.net.我正在考虑umbraco,因为它提供了真正的生产力提升,并且我熟悉它(并扩展它).我与ASP.NET MVC有一段短暂的恋情,所以我知道它的全部内容,但我仍然会花些时间学习它(但这很有趣!).当然,还有webforms,但这是我最后的选择.最后但并非最不重要的是SEO.
问题是,你们中的任何人都有类似的困境,你最后的选择是什么?
编辑:只是想注意,这个网站将由我和客户维护.目标是尽快设置它,但这并不会结束开发过程.该产品将继续使用多年.
我希望帮助非营利组织建立并运行一个网站.
只是,他们不仅希望拥有内容的网站,他们还希望维护会员数据库,并允许这些会员注册并支付俱乐部举办的课程/活动/研讨会.
在我看来,如果他们想要的只是发布内容,几乎任何可用的CMS都可以满足要求.
但注册部分需要一些定制.
我考虑过为他们安装一个基本的CMS,然后为注册部分创建单独的Web应用程序.这仍然有效......
但是,如果我想从CMS挂钩用户/角色并在注册方面使用它们,我想我必须有一些方法来扩展CMS或在子应用程序中轻松使用它的数据.
我一直在阅读以下CMS:
所有这些似乎都有扩展的能力,但我不确定扩展每个都有多少"工作".鉴于我的要求相当简单,而且我不想花费大量时间来做这件事(毕竟这是免费工作),有没有人有推荐?
我正在开发一个应用程序,您可以订阅新闻稿并选择要订阅的类别.有两组不同的类别:城市和类别.
在发送电子邮件(预定的品尝)时,我必须在发送电子邮件之前查看订阅者订阅的城市和类别.也就是说,如果我已经订阅了"伦敦"和"曼彻斯特"为我选择的城市,选择了"食品","布"和"电子"作为我的类别,我只会得到,涉及到这些时事通讯.
结构如下:
在一把umbraco CMS每newsitem有城市和类别的逗号分隔字符串(实际上,这些被存储为节点ID,因为城市和类别是一把umbraco藏汉节点)当我预订一个或多个城市,一个或多个类别,我店自定义表中数据库中的city和category nodeids.我的关系映射看起来像这样:

整个结构看起来像这样:

对我来说,这似乎是两组1 - 1 ..*关系(一个或多个城市的一个订户和一个或多个类别的一个订户)
要查找要向哪个订阅者发送哪些电子邮件,我的代码如下所示:
private bool shouldBeAdded = false;
// Dictionary containing the subscribers e-mail address and a list of news nodes which should be sent
Dictionary<string, List<Node>> result = new Dictionary<string, List<Node>>();
foreach(var subscriber in subscribers)
{
// List of Umbraco CMS nodes to store which nodes the html should come from
List<Node> nodesToSend = new List<Node> nodesToSend();
// Loop through the news
foreach(var newsItem in news)
{
// The news …Run Code Online (Sandbox Code Playgroud) 我创建了一个Surface控制器,其动作使用@ Html.Action(...)调用.
@ Html.Action调用在宏部分视图中完成,宏使用富文本编辑器包含在页面内容中.
(我是新手,所以如果我以错误的方式处理事情,请告诉我.)
Surface控制器有一个GET和一个POST动作,但它是在宏部分中调用的get动作.
获取操作呈现正常,在表单中输入任何数据都将使模型状态无效(这正是我目前正在测试的).
提交表单(没有输入数据)意味着我可以进入我的POST操作,ModelState.IsValid设置为false并返回CurrentUmbracoPage().
一切都很好...调试时没有遇到异常......
此时,页面上出现错误文本"Error loading Partial View script".
我要做的就是返回显示验证消息的同一页面.
Umbraco v6.0.5
我目前正在处理的控制器用于重置用户的密码.我还有一个登录控制器,通过使用RedirectToCurrentUmbracoPage()解决了这个问题.
访问包含宏的页面我使用地址http:// {testhost}/Reset-Password返回的错误文本读取:加载部分视图脚本时出错(文件:〜/ Views/MacroPartials/ResetPassword.cshtml)
代码在一个单独的解决方案中,并且视图和bin目录被复制.nuget包使用UmbracoCMS.Scaffolding.
public class ResetPasswordSurfaceController : SurfaceController {
[ChildActionOnly]
[HttpGet]
public ActionResult Reset(string token, string email) {
// Validation Code Omited
var user = Membership.GetUser(username);
return PartialView("Reset", new ResetPasswordSurfaceModel { UserID = user.ProviderUserKey.AsInt() });
}
[HttpPost]
public ActionResult PostReset(ResetPasswordSurfaceModel model) {
if (ModelState.IsValid) {
//Password reset code omited
return RedirectToCurrentUmbracoPage();
}
//works but only partial view content …Run Code Online (Sandbox Code Playgroud) 场景:
我正在使用MVC在Umbraco 6中建立一个站点 - 我对Umbraco来说相当新,但是到目前为止我已经通过遵循教程等完成了所有工作,并且在大多数情况下一切都很好.
所以我有一个"联系我们"表单,构建为部分视图,使用以下代码呈现:
@using (Html.BeginUmbracoForm("SendEmail", "ContactFormSurface"))
{
Run Code Online (Sandbox Code Playgroud)
发回我的ContactFormSurfaceController:
public class ContactFormSurfaceController : Umbraco.Web.Mvc.SurfaceController
{
[HttpPost]
public ActionResult SendEmail(ContactFormModel model)
{
Run Code Online (Sandbox Code Playgroud)
现在,我的ContactFormModel继承了Umbraco RenderModel,我在一个单独的ContactFormController中"劫持"了我的Contact Us视图的路径:
public class ContactFormController : RenderMvcController
{
//
// GET: /Contact-us/
public override ActionResult Index(RenderModel model)
{
var contactFormModel = new ContactFormModel(model);
return CurrentTemplate(contactFormModel);
}
Run Code Online (Sandbox Code Playgroud)
我希望这样,以便我可以根据Umbraco内容提供灵活的标题并在联系表单中提交按钮文本.我的ContactFormModel在其构造函数中采用RenderModel,以便它可以访问底层的Umbraco内容:
public class ContactFormModel : RenderModel
{
#region Ctr
public ContactFormModel(RenderModel model) : base(model.Content, model.CurrentCulture) {}
#endregion
#region Contact Form Fields
[Display(Name = "Your Name")]
[Required]
public string Name { …Run Code Online (Sandbox Code Playgroud) 与Umbraco ImageProcessor相关的问题与其他许多问题相同.我目前正在使用7.4版本,但7.3也不会裁剪图像.
我正在使用Azure Blob存储,CDN已经按照配置设置到了tee.
完整图像通过Umbraco后台上传到Azure存储,但已经尝试了各种格式化的URL请求来拉取和裁剪图像,但没有一个工作,无论是JPG还是PNG文件.根本不会发生裁剪,始终返回完整图像.
使用fiddler,我可以看到请求将转到Azure Blob以检索图像,但无论裁剪大小如何,始终返回完整的图像大小.
包裹配置...
<package id="ImageProcessor" version="2.3.1.0" targetFramework="net452" />
<package id="ImageProcessor.Web" version="4.4.1.0" targetFramework="net452" />
<package id="ImageProcessor.Web.Config" version="2.2.4.0" targetFramework="net452" />
<package id="ImageProcessor.Web.Plugins.AzureBlobCache" version="1.0.5.0" targetFramework="net452" />
<package id="UmbracoFileSystemProviders.Azure" version="0.5.0-beta" targetFramework="net452" />
Run Code Online (Sandbox Code Playgroud)
网络配置......
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
<remove name="UrlRewriteModule" />
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
<remove name="UmbracoModule" />
<add name="UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" />
<remove name="ImageProcessorModule" />
<add name="ImageProcessorModule" type="ImageProcessor.Web.HttpModules.ImageProcessingModule, ImageProcessor.Web" />
<remove name="ScriptModule" />
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 CMS 定义的路由来获取内容,这些内容用于确定在我们的 Nuxt 前端加载哪个页面。那么,您如何实现自己的逻辑来将路由连接到内容,将内容连接到页面,同时保持 Nuxt 页面的所有出色功能?
任何帮助将不胜感激!
Headless CMS 正在兴起,我们希望在通用模式 (SSR) 下将我们的 CMS 与 Nuxt 一起使用。
我们一直在使用 Umbraco(一种免费托管的 CMS),它具有灵活的路由系统,我们无法在没有大量用户强烈反对的情况下对其进行限制。
注意:Umbraco 不是无头的,我们自己在 GitHub 上的Umbraco Headrest 项目中添加了该功能
注意:每条内容都有一个包含其内容类型名称的字段
例如,以下内容结构是有效的。
.
home
??? events
| ??? event-one
| ??? event-two
| ??? event-special-offer
| ??? some-other-content
??? special-offer
??? other-special-offer
Run Code Online (Sandbox Code Playgroud)
因此,如果我们想用 nuxt 呈现这些特价商品,我们将需要使用 Pages/SpecialOffer.vue。
问题是这些特价商品的默认路径是:
/special-offer/other-special-offer/events/event-two/event-special-offer编辑器还可以创建自定义路径,例如:
/holiday2020/special(可以指向event-special-offer)编辑器还可以重命名内容,因此other-special-offer可以变成new-special-offer. 然后一把umbraco将返回new-special-offer两个 …
umbraco url-routing server-side-rendering nuxt.js headless-cms
我创建了一个新的文档类型,并从这种类型创建了一个页面.我已填写所有必填字段并发布页面,我在链接到文档字段中收到以下错误
糟糕:此文档已发布但不在缓存中(内部错误)
以及日志文件中的以下错误
2013-06-08 18:03:14,209 [59]警告Umbraco.Web.Routing.NiceUrlProvider - [线程5]找不到nodeId = 3198的任何页面.这很可能是由于页面未发布引起的.
我"重新发布整个网站",我发布了我的主页"包括所有子页面"和"包括未发布的子页面".我已经删除了我的umbraco.config并退回了IIS(它实际上是在VS dev服务器中运行).
我正在使用umbraco v 4.11.8.
我有一个DynamicNode名为产品的产品名称和产品ID.我需要DynamicNode使用LINQ 从产品中选择所有产品id到数组.
我试过类似的东西
@helper PrintProductYearChart(IEnumerable<DynamicNode> products)
{
var res = products.select(x => x.filelds['Id']).ToAarray();
}
Run Code Online (Sandbox Code Playgroud)
但它不能正常工作.
任何人都可以帮忙.谢谢
umbraco ×10
asp.net-mvc ×3
asp.net ×2
c# ×2
.net ×1
algorithm ×1
azure ×1
dotnetnuke ×1
forms ×1
headless-cms ×1
http-post ×1
image ×1
linq ×1
nuxt.js ×1
orchardcms ×1
url-routing ×1