我是果园CMS&MVC,请考虑到这一点。任何帮助 - 越多 - 将被大量收到。
我想将小部件添加到我的博客摘要页面。实现这一目标的最佳方法是什么?IVE试图为该页面规则定义的博客摘要页面创建图层,以使其在此页面上是唯一的。但是,这只允许我在图层区域中添加小部件。
我需要/想要做的是有效地创建一个带有标签云的侧栏和一个blogroll,显示其他帖子的标题以及其他几个内容。这意味着将博客摘要内容移至另一个区域中,我可以将小部件放在侧面。
这是正确的方法吗?如果是这样,我该如何将摘要的内容转移到另一个区域?如果这不是最好的方法,那是什么?
这是预测进来的地方吗?
谢谢
从我对您的问题的理解中,我的答案就是这样。
如果您使用的是默认的themachine,即"主要内容",即您的博客摘要页面,将加载到内容区域 - 位于themachine的中间容器或区域中,并在两个区域或常用区域侧面称为侧边栏。为了实现您想要的东西,我将同时将标签云小部件和blogroll小部件放在左侧/侧边栏或右侧,具体取决于您所追求的外观。
就是这样!
现在,这取决于您使用的主题,并且实际上可以使用该主题,该区域由主题清单决定,这是主题根目录中的theme.txt文件。p>现在,如果您想为显示这些小部件的何时设置规则,则可以使用管理员仪表板中的小部件区域中的层进行此操作。有关此的详细信息将需要第二个问题;-)我希望回答您的第一个问题。
P.S。预测可用于代替博客摘要页面和博客小部件。并可以更好地控制显示的内容。
我想我现在了解您要完成的工作,并且该解决方案要求您以两种方式之一来修改主题,这是最可接受的:
第一个是更可取的方法,但需要做更多的工作。您应该将Layout.cshtml
模板修改为2 -Content
和Aside
中的Content
区域。这很大程度上依赖于模板的当前代码,但可能需要从:
<section id="content-area">
@Zone(Model.Content)
</section>
to:
<section id="content-area">
@Zone(Model.Content)
</section>
@if(Model.Aside != null){
<aside id="aside-area">
@Zone(Model.Aside)
</aside>
}
接下来,您需要更改CSS,以使content-area
漂浮在左侧,并且aside-area
漂浮在右侧。
您还需要更改主题的Theme.txt
文件才能在区域列表中添加Aside
。
您现在可以在Aside
区域添加小部件。如果仅应在特定情况下显示这些小部件,则必须制作其他层,这些层将在您希望显示小部件的情况下处于活动状态。
第二个解决方案是对于您希望在摘要模式显示博客时仅显示这些小部件。该解决方案不是使用果园的常规方法,而是果园允许但并未考虑到这一点的技巧。尽管如此,我发现在某些情况下它很有用,所以它去了。
更改Theme.txt
以在区域列表中添加Aside
区域。
在主题中创建一个新模板,并将其命名Content-Blog.cshtml
。对其进行编辑,使其具有此内容:
<section id="content-area">
@Display(Model.Content)
</section>
@if(Layout.Aside != null){
<aside id="aside-area">
@Display(Layout.Aside)
</aside>
}
您还必须进行CSS更改以将Aside
区域设置为内容的右侧。
现在,您可以将小部件添加到Aside
区域。请注意,现在您不必制作新层,因为唯一显示Aside
区域的时间是渲染Content-Blog.cshtml
并且仅在摘要模式显示Blog
时才渲染。
最后,我能够找到相关的视图,然后在周围切换区域,以便较窄的区域出现在右侧。然后创建一个投影以返回博客文章摘要并将其放在左手更大的区域中。
感谢所有试图提供帮助的人。我知道必须有一个简单的答案,因此我最初简化了问题。我没有意识到那会造成如此多的悲伤。