gpt4 book ai didi

orchardcms - Orchard 自定义主题 - 创建 2 个额外的导航菜单,仅在某些页面上可见

转载 作者:行者123 更新时间:2023-12-04 04:48:11 25 4
gpt4 key购买 nike

我有一个自定义主题 Orchard 网站 - 我是 Orchard 新手。

所有页面的主导航和页脚都具有相同的页眉。我已将页眉和页脚设置为区域。

有 4 个主要部分,其中 2 个需要在左侧进行第二次导航;信息和常见问题解答。

我想为 CMS 中的这些部分动态创建页面 - 并将页面添加到适当的第二个导航菜单中,然后在单击时导航到该页面(在左侧显示正确的导航菜单 - 其余部分使用正确的样式页)。

在简单的步骤中,最好的方法是什么 - 是否需要我在 Visual Studio 中编辑布局或其他文件(如果需要,我可以)。

我在网上找到了几篇文章 - 但它们都适用于已完成的主题,而不是从头开始创建的。

(我在小部件页面上也没有这个网站的“ map ” - 我应该如何/应该以某种方式创建一个?):
site map on widgets page

谢谢。

最佳答案

据我了解,您所追求的是创建 Widget .基本上要在页面中显示任何内容,您必须创建适当的 ContentType并附上所需的零件,要显示它,您必须输入 url浏览器地址栏中的内容或单击该内容的链接,在任何一种情况下,它都会导航到新页面并在 [Content] Zone 中显示内容.但是如果你想在一个特殊的 Zone 中显示一个内容和特殊页面,创建 Widget是去的方式。创建一个小部件唯一需要的是添加一个WidgetPart给它并给它“小部件”的刻板印象。您可以通过在 Migration 中进行以下更改来做到这一点您想要的文件ContentType :

ContentDefinitionManager.AlterTypeDefinition("MyType", cfg => cfg
.WithPart("WidgetPart")
.WithPart("CommonPart")
.WithSetting("Stereotype", "Widget"));

这将使您的 Content Type放入可以放置在您想要的任何区域中的小部件中。

将您的小部件添加到区域导航到仪表板中的小部件。

enter image description here

然后选择要放置小部件的区域:

enter image description here

然后选择您的小部件

enter image description here

最后选择您的小部件将在其中显示的层。层是一组规则,用于确定您的小部件将在哪些页面中显示。例如选择 homepage将仅在主页显示您的小部件,选择 default将在所有页面等中显示您的小部件。定义您自己的规则检查 here .

enter image description here

编辑:

创建新的 zone在您的主题中只需包含 Zone姓名在 theme.txt然后打开文件 Layout.cshtml (一个位于您的自定义主题的 View 目录中),并执行以下操作:

鉴于您的区域名称是 SecondaryNavigation然后在您的主题中添加以下代码
@if (Model.SecondaryNavigation != null)
{
<div id="secondary-navigation" class="group">
<div class="inner">
@Zone(Model.SecondaryNavigation)
</div>
</div>
}

有了这个额外的 Zone将显示在区域列表中,然后您可以将小部件放入新创建的 zone .关于您询问的那张图片。它是由主题作者创建并命名为“Theme.png”的图像文件,将在管理小部件屏幕中显示为预览,您可以为自己的主题创建并放置它在您的主题 View 目录中。

编辑 2

迁移文件本身并不重要。唯一重要的是定义一个从 DataMigrationImpl 驱动的类。 , orchar 会选择你的迁移文件并自动运行它,迁移文件首先有一个 Create返回 1 的方法,并且对于每个进一步的更新,您必须定义一个名为 UpdateFromN 的方法其中 N是您的模块所在的当前版本,它将返回 2 , 3 ,...您可以在迁移文件中执行的操作是创建数据库表,创建 ContentTypes , ContentParts , ContentFields等等。 orchard 已经附带了几个模块,检查它们并得到想法。

关于orchardcms - Orchard 自定义主题 - 创建 2 个额外的导航菜单,仅在某些页面上可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17860963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com