使用Orchard CMS进行单页面设计

2024-05-04

我有一个客户想要为他的网站进行单页面设计,其中每个“页面”的内容在用户浏览网站时使用 javascript 显示/隐藏。

我不确定使用 Orchard 来解决这个问题的最佳方法。一种选择是将所有内容都放在单个页面内容项上,但这样您就无法使用 Orchard 的导航功能,并且无法让客户考虑页面方面的管理。

有人对如何在 Orchard CMS 中最好地设置它有想法或经验吗?


这是我根据 Bertrand 的建议使用的解决方案:

public ActionResult Display(int id)
{
     var contentItem = _contentManager.Get(id, VersionOptions.Published);
     dynamic model = _contentManager.BuildDisplay(contentItem);
     var ctx = _workContextAccessor.GetContext();
     ctx.Layout.Metadata.Alternates.Add("Layout_Null");
     return new ShapeResult(this, model);
}

我创建了一个带有控制器的新模块,其中包含上面的操作方法。该操作方法采用内容部分 ID 的参数。 _contentManager 和 _workContextAccessor 对象被注入到控制器中。 Layout.Null.cshtml 视图的创建与 Bertrand 的建议完全相同。


为了在不牺牲 SEO、客户端性能和可维护性的情况下实现这种非常精致的体验,我会采取以下措施:仍然“经典”地创建网站,作为一组页面、博客文章等,并具有自己的 URL。主页布局应该有所不同,并使用 Ajax 调用引入其他页面的内容。 我一直使用的一种方法是通过 Ajax 调用来显示与常规内容项相同的内容(因此内容周围没有镶边,也没有引入样式表,因为它已经存在了,等等)一个单独的控制器操作,返回“空布局”中的内容:

var ctx = _workContextAccessor.GetContext();
ctx.Layout.Metadata.Alternates.Add("Layout_Null");
return new ShapeResult(this, shape);

然后,我的视图中有一个 Layout.Null.cshtml 文件,如下所示:

@{
    Model.Metadata.Wrappers.Clear();
}
@Display(Model.Content)

清除包装器会删除 document.cshtml 中的渲染,并且模板本身仅渲染一个区域:内容。所以渲染的只是内容,没有其他内容。非常适合从 ajax 调用注入。

这有帮助吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Orchard CMS进行单页面设计 的相关文章

  • 如何访问整个 AutoFac 容器以在 Orchard 中注册依赖项?

    这个问题非常简单 我想访问整体AutoFac容器 以便我可以在其中注册我的依赖项 remark 我不同意继承自IDependency因为在我的项目中 它会导致 两个程序集 的循环引用 我想要做的是使用密钥注册一个组件 并在其他程序集中使用相
  • Orchard CMS中如何处理来自JS的跨域Web服务调用

    我正在尝试从 HTML 小部件内跨域调用 Web 服务 这似乎不起作用 它在同一域下运行得很好 我正在尝试在 Orchard 中创建一个登录页面 可用于登录另一个域上的我的软件 Web 服务正在验证用户凭据并返回一个布尔值 然后该布尔值将生
  • 编辑缺少内容的链接

    我是果园 CMS 的新手 我已经从以下网站下载了源代码http orchardproject net 我无法找到所提供的屏幕截图中内容周围的编辑链接 我曾在 Sitecore 工作过 现在正在为我的客户寻找新的开源 CMS 此链接是否为我提
  • 自定义 Orchard 导航菜单

    抱歉我问了这么笼统的问题 我正在使用 Orchard CMS 创建一个网站 网站的设计和交互性是关键要求 我有一个固定大小 900 px 宽 的导航菜单 但应该能够调整尽可能多的菜单项 我通过修改 css 手动执行此操作 我使用了一些 jQ
  • 控制器外部的 Orchard 主题属性

    我有一项服务将覆盖响应正文的内容 是否可以在覆盖内容的方法中使用主题 Themed public void forbiddenAlert IHttpContextAccessor Hca overriding response body 不
  • 是否可以在 Orchard CMS 中使用剃刀布局并绕过主题

    一点背景知识 我们最近有一个很多人使用的 MVC4 Web 应用程序 我们希望将其移植到 Orchard CMS 尽管这是 管理 类型的应用程序 但我们不希望它成为 Orchard 管理部分的一部分 该应用程序目前已上线 我们希望最终用户尽
  • 在 Orchard CMS 中将不同的 CSS 文件添加到不同的页面?

    假设 Orchard CMS 中有两个页面 主页和关于我们页面 我想在主页上使用 RoyalSlider 它有自己的 CSS 文件 如何仅将其包含在主页上而不包含在 关于我们 页面上 在 Orchard CMS 中 我使用 Contoso
  • 在 Orchard 中创建/编辑后清空内容项

    我正在使用在 Orchard 中创建 n to n 关系的指南 ocs orchardproject net Documentation Creating 1 n and n n relations 并进行一些细微的修改 虽然示例代码运行良
  • 合并来自开发和生产数据库的果园内容

    我正在寻找以下问题的解决方案 我们前段时间开发了生产环境上的果园场地 所有站点结构 小部件 部件 图层 都是在首次发布之前创建的 现在我们要添加带有附加页面和图层的子站点 我们希望在开发环境中完成这项工作 并在发布之前对其进行测试 在最近的
  • 在 Orchard MVC CMS 中更改数据库连接设置的位置

    我在 Orchard CMS 中建立了一个网站 在选择数据存储设置时 我选择了 使用现有的 SQL Server 或 SQL Express 数据库 代替 使用内置数据存储 SQL Server Compact 它对我来说效果很好 但我想知
  • 我可以让 Orchard 在博客列表中显示完整的博客文章吗?

    我刚刚设置 Orchard 并注意到预览小部件仅显示带有标准 更多 链接的前几个句子 有没有办法在不创建自定义小部件的情况下覆盖此功能 我希望 Orchard 展示我最新的五篇帖子的全部内容 当然 只需将此 Parts Common Bod
  • Orchard CMS:注销(注销)确认页面

    当用户注销前端时是否会触发一个事件 如何使用该事件将用户重定向到特定视图或页面 我希望用户在注销后收到一条消息 显示 您已成功注销 与往常一样 使用 Orchard 有不止一种方法可以做到这一点 方法 1 覆盖用户形状 当您注销时 您将被重
  • Orchard CMS 中的 Work<> 类有什么用?

    简单明了 它的用例是什么Orchard Environment Work lt gt 类定义于Orchard Environment WorkContextModule cs 它可以在几个地方找到 例如 private readonly W
  • Orchard Navigation - 如何使菜单链接不可点击

    我有以下菜单导航 home product product 1 product 2 news press releases about us 上面的每个菜单项都链接到一个内容 产品 除外 我需要这样做 以便当用户单击 产品 时不会去任何地方
  • Orchard CMS 如何进行日志记录?

    我正在使用 Orchard CMS 它对我来说是更好的 CMS 我想了解它如何进行日志记录以及我是否可以添加自己的日志记录 我看到果园使用NullLogger类 它不起作用 我已打开 App Data Logs 文件夹并看到其中有日志文件
  • 在 Orchard CMS 中使用 ShapeHelper 生成形状 - 未找到类型

    我正在使用 Orchard CMS 构建一个网站并创建我自己的自定义模块 我一直在学习一些教程 到目前为止还不错 我不明白 ShapeHelper 方法是如何工作的 它给我带来了一些麻烦 以下代码来自我的驱动程序文件 工作得非常好 并在前端
  • 使用 Orchard 创建列表

    我正在尝试按照本教程创建内容列表 http docs orchardproject net Documentation Creating lists http docs orchardproject net Documentation Cr
  • Orchard 1.7 - 为未发布的内容创建自定义工作流程活动

    我需要利用 Orchard CMS 中的活动列表 未发表的活动是要求之一 我查看并发现 Orchard 默认工作流程活动列表没有未发布的活动 我构建了一个模块来添加我自己的自定义工作流程活动 我在创建活动并使它们工作方面没有问题 但我不知道
  • 在 Orchard 中设置唯一的主体类和 ID

    有没有办法在 Orchard 中为每页设置唯一的正文类和 ID 我希望能够在 编辑页面 部分控制这些 例如 主页的正文 ID 为 home 关于页面的正文 ID 为 about 等 并且 如果 about 页面下有子页面 这些页面将具有 a
  • 从 Orchard 内的主题渲染图像

    我刚刚选择 Orchard 来构建我的博客 作为创建这个新博客的努力的一部分 我正在创建一个自定义主题 这个自定义主题同时具有 CSS 和图像 我的问题 我的问题基本上可以归结为 如何渲染属于主题一部分的图像 到目前为止我已经尝试过的 我尝

随机推荐

  • 似乎找不到循环 PL/SQL 数组的方法?

    我正在尝试这样做 arrCauses APEX UTIL STRING TO TABLE P1 CAUSE FOR c IN 1 arrCauses count LOOP INSERT INTO DT EVENT CAUSE EVENT I
  • 量角器未连接到 DevTools

    当我的页面从 Protractor 运行时 如何使用 Chrome 开发者工具来检查它 当我尝试打开开发工具时 我从量角器收到此错误 UnknownError disconnected not connected to DevTools S
  • 如何设置 1dCNN+LSTM 网络(Keras)的输入形状?

    我有以下想法要实施 Input gt CNN gt LSTM gt Dense gt Output 输入有 100 个时间步长 每个步长有一个 64 维特征向量 A Conv1D层将在每个时间步提取特征 CNN 层包含 64 个滤波器 每个
  • 在自定义 UITableView 中显示空白 UITableViewCell

    我正在尝试自定义 UITableView 到目前为止 看起来不错 但是当我使用自定义 UITableViewCell 子类时 当只有 3 个单元格时 我不会得到空白表格单元格 替代文本 http img193 imageshack us i
  • 如何在 Swift 2.0 中将结构保存到 NSUserDefaults

    我有一个名为Jar我想将它们的数组保存到 NSUserDefaults 中 这是 jar 结构代码 struct Jar let name String let amount Int init name String amount Int
  • Apache Tomahawk 文件上传不工作

    我在使用 Apache Tomahawk 时遇到问题 Glassfish 3 0 1 不断记录 警告 JSF1064 无法从库 org apache myfaces custom 中找到或提供资源 inputFileUpload xhtml
  • 如何从我的应用程序打开“设置”应用程序? [复制]

    这个问题在这里已经有答案了 在我正在开发的 iPhone 应用程序中 用户需要通过设置应用程序输入一些配置 然后我的应用程序才能连接到服务器并运行 现在 当用户首次启动我的应用程序时 我会显示一条警报 解释用户应该转到设置 输入配置详细信息
  • 在打字稿中读取和写入文本文件

    我应该如何从 Node js 中的 TypeScript 读取和写入文本文件 我不确定是否会在 node js 中读 写沙箱文件 如果没有 我相信应该有一种访问文件系统的方法 相信应该有一种访问文件系统的方法 Include node d
  • 将 SQL 读取到 DataSet 到 XmlDocument

    下面的代码工作起来很梦幻 但它能变得更紧凑 更接近 C 风格吗 尤其是我对两个问题有怀疑 是不是很丑 老C式 填充fill通过将变量用作参数内 代码可以变得更紧凑而不是通过String C String connectionString s
  • Android TableLayout 宽度

    我有两列TableLayout作为滚动视图的唯一子视图 第一列包含TextViews labels 并且第二列包含EditText Spinner DateWidget等等 价值观 尽管我已指定android layout width fi
  • 列出 C 常量/宏

    有没有办法使GNU C 预处理器 cpp 或其他一些工具 列出给定点上的所有可用宏及其值C file 我正在寻找特定于系统的宏 同时移植一个已经精通 UNIX 的程序并加载一堆稀疏的 UNIX 系统文件 只是想知道是否有比寻找定义更简单的方
  • 最近的 Facebook API 的 FQLQuery

    我下载了最新的 Facebook PHP SDK 当我想要获取有关帖子的信息 例如点赞数 评论数和分享数 时 我的查询可以正常工作 但是 当我想获取用户的好友数量时 它不起作用并告诉我 Facebook FacebookAuthorizat
  • 将列表元素分组到字典中

    我有一个包含 8 个元素的列表 ConfigFile ControllerList 该列表的类型为 List
  • 保存在 ImageView 中时,从自定义相机拍摄的图像会被拉伸

    我正在使用此代码在 Imageview 中保存图片 但在 imageview 中保存时图像被拉伸 相机预览是完美的 单击右侧图像 但是当我在 imageview 中设置该图像时 图像被拉伸 public void onPicTaken by
  • 如何获取组件类中的ngForm变量引用?

    鉴于以下 html
  • 检索形状的名称

    在 Excel 中 左上角有 名称框 但我找不到在 Word 中检索形状名称的方法 我怎么做 MS Word 中有两种形状 InlineShapes and Shapes 使用一些 VBA 代码检查形状对象的名称非常容易 选择形状 按 Al
  • nUnit Assert.That委托并发问题

    我的代码中遇到了一些暂时的死锁 无法解决它 简单的代码 我无法创建一个简单的调用链来重现代码InvokeChangeEvent Test public async void Test sut InvokeChangeEvent foo fi
  • php-webdriver:使用 click() 提交表单后等待浏览器响应

    除了使用sleep 在我的测试中 我想知道是否有人知道更好的策略 可以在继续我的断言之前显式等待表单提交 POST 完成 这是我的测试的一个非常浓缩的版本 结合使用 phpunitphp webdriver https github com
  • 在二维空间中从 A 点前往 B 点?

    我正在开发一个项目 需要我计算从可变点 A 到可变点 B 的 0 360 度航向 以使 A 点的物体面向 B 点 现在 我不确定如何实现这一目标 我用谷歌搜索但没有找到任何好的解决方案 在任何情况下 如何计算二维空间中从 A 点到 B 点的
  • 使用Orchard CMS进行单页面设计

    我有一个客户想要为他的网站进行单页面设计 其中每个 页面 的内容在用户浏览网站时使用 javascript 显示 隐藏 我不确定使用 Orchard 来解决这个问题的最佳方法 一种选择是将所有内容都放在单个页面内容项上 但这样您就无法使用