问题标签 [orchardcms-1.9]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
79 浏览

orchardcms - 自定义主题错误

我使用的自定义主题适用于本地开发服务器,但不适用于天蓝色网站的生产服务器。这些是我从果园错误日志中得到的错误。

0 投票
1 回答
125 浏览

orchardcms - 以另一种形式呈现 Model.Navigation

我将我的一些 html 从 layout.cshtml 移动到另一个文件 (topnavigation.cshtml) 并通过以下方式调用它:@Display.TopNavigation(); 在那个新的形状文件中,我怎样才能让它呈现导航区域的实际内容。我预计 @Display(Model.Navigation) 会起作用,但在 topnavigation.cshtml 中时 .Navigation 为空?

0 投票
1 回答
124 浏览

orchardcms-1.9 - Orchard CMS Import 未导入完整文件

我正在尝试将数千个论坛帖子导入我的 Orchard 网站(使用 NGM.Forum 模块)。我毫无困难地导入了线程,但是当我尝试导入 Post ContentItems 时,导入过程只导入元素中的最后一个<Data>元素。我已经制作了测试帖子并通过导出将它们导出,但同样的事情发生了。

帖子没有 ID。如果我将 ID 留空,则不会导入任何内容。如果我添加Id="{GUID}"最后一行将被导入。

一个样品:

我也看到了两个问题,但都没有解决,而且都已经很老了。

0 投票
2 回答
988 浏览

orchardcms - 如何为 Orchard 布局创建自定义容器元素?

我正在使用 Orchard 1.9.3 并遵循一些关于如何在 Orchard 中创建自定义普通元素的教程。我找不到任何关于创建容器元素的具体内容,所以我在源代码中挖掘了一下,这就是我到目前为止所拥有的:

元素/过程.cs

驱动程序/ProcedureElementDriver.cs

服务/程序模型图

视图/LayoutEditor.Template.Procedure

所有这些都或多或少地从 Row 元素中复制而来。我现在有一个Procedure元素,我可以从工具箱拖到我的布局上,但它没有用我的模板呈现,即使我可以通过这种方式覆盖其他布局元素的模板,我仍然无法将任何子元素拖入它。我曾希望简单地从继承Container就可以做到这一点。

我基本上只是想制作一个更具限制性的 Row 和 Column 对,以将一些自定义样式应用于任意内容列表。我如何告诉 Orchard 一个程序只能包含在一个列中并且它应该接受Steps(或其他一些元素)作为子项?

0 投票
1 回答
108 浏览

orchardcms - 如何仅将内容部分附加到特定类型或特定内容项?

我有两个类似的问题,我怀疑它们有一个共同的解决方案。

1) 我想创建可附加的自定义部件,但仅限于特定的内容类型,例如只有分类法。如果可以通过迁移开箱即用,例如类似的东西,那将非常酷,.Attachable(cfg => cfg.ToType("Taxonomy"))但我认为不是。

目前,为了防止我的自定义部件被用于它不打算用于的内容,我只是在驱动程序方法中编写检查:

这是一个很好的方法吗?Handler 会更适合这种逻辑吗?

2) 同样,我希望能够有条件地将不同的部分附加到不同的单个内容项。例如,我只希望分类法中的第一级父术语有一些字段,而子术语有一些其他字段。

我目前能想出的解决这个问题的最好方法是只创建一个包含所有字段的部件,并在其驱动程序方法中运行与上述部件类似的检查,以根据其容器返回不同的模型。然后在模板视图中检查要渲染的字段:

理想情况下,我想创建一个可附加部件,当它附加到类型时,它能够将多个不可附加的辅助部件添加到现有内容项,并在创建或更新新内容项时添加它们。有没有一种无痛的方法来做到这一点?我认为“焊接”可能是我需要的,但我找不到任何可以像我五岁一样向我解释焊接的文档或教程。

0 投票
1 回答
59 浏览

c# - 移除迁移中的 TaxonomyField

由于我一直在创建自己的 Orchard 模块,因此我决定需要通过 ContentDefinitionManager 中的 AlterPartDefinition 方法进行一些分类(我一直在学习 Pluralsight 上的高级 Orchard 课程)。后来我决定我实际上不需要 3 个分类法,现在我希望删除其中的几个。下面是一些我如何添加它们的代码。

我怎样才能实现我的目标?

这是为那些可以访问复数视力的人开设的课程 https://app.pluralsight.com/library/courses/adv-orchard/table-of-contents

0 投票
1 回答
449 浏览

orchardcms - 在代码中将字段添加到自定义部件的正确方法是什么?

有几个类似的问题可以解决这个问题,比如这个这个提供了一个非常老套的解决方案。那里没有一个明确的令人满意的答案,或者根本没有答案,或者一开始就问完全相同的事情。

记录

部分

迁移(由 codegen 生成)

编辑器模板

这一切都取自关于编写内容部分的官方文档,并且工作正常。但是,我希望我的自定义部件也有一个 MediaLibraryPickerField。通过迁移添加一个很容易:

但是我在使用这种方法时遇到了几个问题。

1)我无法在模板中呈现该字段,只能使用放置使其显示在模板其余部分上方或下方的某个位置,因此我无法将其与其所属的属性分组。

2) 由于它附加到 MyPart 而不是 MyPart 附加到的 Type 的 ContentPart,因此管理员无法通过 GUI 调整其设置,只能将其删除(这是一个错误还是尚未实现的功能?) .

3)我不确定如何在代码中访问 MediaLibraryField,因为ContentItem.MyPart现在返回一个 MyPart 对象,所以ContentItem.MyPart.Image.FirstMediaUrl不再有效。

我该如何解决这些问题?我在这里遗漏了一些明显的东西吗?有没有办法将 Media 作为属性添加到我的模型中,而不是使用 Field 并且仍然让 Orchard 坚持它?我真的很想避免修改我的 HTML 并将代码从官方实现复制到我的自定义视图。

0 投票
1 回答
1561 浏览

orchardcms - 如何从视图页面访问 Orchard 中当前用户的角色?

我试图从一个视图中获取当前用户在 Orchard 1.9.2 中的角色。

我尝试了这段代码,但它总是返回 0 个角色:

来源:https ://www.cloudconstruct.com/blog/retrieving-role-information-in-your-orchard-view-templates

有任何想法吗?

0 投票
1 回答
168 浏览

orchardcms - Orchard 中的迁移按什么顺序执行?

我习惯为每个自定义类型或部件保留一个单独的迁移类。很多时候,我想将同一分类的分类字段附加到几个自定义部件。由于我不确定哪个迁移将首先运行,因此我必须检查每个迁移中是否已经存在分类法,如果不存在则创建它,这会导致大量重复代码。为了可重用性/可维护性,我可以将我的代码移动到服务中,但如果我确定首先执行哪个迁移会更容易。

0 投票
0 回答
149 浏览

orchardcms - Orchard CMS 1.9 中带有长 URL 的无效路径错误

场景:多租户 Orchard 1.9.3 部署在单个实例 Azure Web 应用程序中运行,其中所有设置和媒体都存储在 Azure blob 存储中。

启用文件系统输出缓存后(因此所有缓存项目都存储在App_Data\OutputCache文件夹中,我看到条目被添加到文件夹中就好了。但似乎具有长 URL 的项目正在抛出错误并导致 500 被抛出。有时它很长URL,但有时常见的广告系列管理链接(Google Analytics 的 UTM 代码)会导致问题,因为它们也会使用额外的查询字符串选项制作长 URL。如下所示,错误是尝试查找文件时的路径无效在缓存中。

以下是一些错误(请注意错误中的链接现在可以正常工作,因为我已禁用缓存并且错误已消失)。

我注意到 1.9.x 版本中的文件系统输出缓存发生了变化……长 URL 是个问题吗?