在 Joomla 替代布局和使用 K2 模板之间感到困惑

Posted

技术标签:

【中文标题】在 Joomla 替代布局和使用 K2 模板之间感到困惑【英文标题】:Confused between Joomla Alternative Layout and Templating with K2 【发布时间】:2014-07-14 15:02:07 【问题描述】:

我真的对这两个概念感到困惑。我基本上想更改列出其中子类别的 Joomla 类别页面的外观。我不喜欢博客和列表类型的默认“替代布局”选项。我想用类似于我见过的一些投资组合布局的图像 + 子类别标题样式来显示子类别。所以我开始在谷歌上搜索并阅读一些关于如何做到这一点的文档。在此期间,我遇到了Layout Overrides in Joomla,它说我们可以创建替代的 Joomla 布局来显示模块、组件、类别和菜单项。

Q1) 这是否意味着我可以创建一个新布局(以投资组合类别为例),如果我将它们放在“templates/myTemplate/html/com_contact/category”文件夹中布局选项将列在管理面板的替代布局下拉列表下?

当我阅读更多内容时,我偶然发现了 K2 方法,它说 K2 允许创建子模板以针对每个类别具有不同的样式。我还没有决定是否要使用 K2 或核心 Joomla 文章。但我主要关心的是为某些类别页面设置与默认博客或列表选项不同的样式。当我阅读上述文章时,我认为这可以在 Joomla 核心本身中完成。但是当我在Templating with K2 (and the concepts of sub-templates)阅读K2文章时,它说核心Joomla不允许子模板,而K2可以做到这一点。

Q2) 为 K2 类别创建子模板和为 Joomla 类别创建自定义模板布局有什么区别?

我在这里完全糊涂了。如果 Joomla 允许为类别创建不同的布局,然后可以从管理面板中选择用于该类别的布局,那么 K2 的子模板有什么特别之处,它声称只有 K2 允许灵活地选择不同的布局不同的类别?

有人可以帮我理解这个吗?我一直在寻找几个小时来了解差异,但我仍然坚持这一点......

我是 Joomla 的新手,我使用的是 Joomla 3.3 版。

【问题讨论】:

1.没错,您可以创建这样的布局。据我所知Joomla! 3.x 下的版本不允许像 K2 那样进行子模板化。 2. 在我看来没有什么不同,除了它们是两个不同的 joomla 组件,而且 K2 还允许每个自定义模板自定义 css 文件。 这对 Shaz 很有帮助。这真的很难在任何地方找到,因为所有解释 K2 子模板与 Joomla 比较的文章都没有提到它所指的 Joomla 版本。现在我注意到 Joomla 发生了很多变化,并且 Joomla 核心本身提供了一些使 K2 变得特别的功能。知道在 Joomla 3 中创建布局与在 K2 中创建子模板相同,这对我是否使用 K2 的决定有很大影响。我最终可能会留在 Joomla 核心文章本身,因为它现在也支持高级标记系统 是的,您可以使用核心替代布局替代菜单布局创建您想要的布局。自 1.5 以来已经存在完整的布局覆盖,但自 1.6 以来已经存在替代布局(您可以有多个选项)。这意味着正如您所说,在模板的 html 文件夹中创建您的版本,布局文件和具有新名称的 xml,例如 mynewlayout.php、mynewlayout_items.php 等以及 mynewlayout.xml。当然,如果需要,您也可以将 css 添加到模板中,这很简单,只需单击几下即可添加新文件和重新编译 css。 谢谢@Elin 在这种情况下,我在 K2 上读到的关于 K2 的子模板系统比 Joomla 更强大和更灵活的文章在当前的 Joomla 3.3 版本中不再有效,对吗?那么这是否意味着 K2 的自定义子模板与 Joomla 的 Joomla 文章的自定义替代布局没有什么不同呢? 我对 K2 的了解还不够多,但我认为你应该能够用核心做你想做的事,这在很多方面都很好。如果您正在做一个大型报纸网站或有一些非常复杂的需求,您可能想要一个 CCK,但 K2 是否是您需要的(有很多选择)我真的不能说,因为这取决于您的情况。 【参考方案1】:

Joomla 核心 Alternative-Layouts 和 K2 的方法有很大的不同。理论上很难解释...

Joomla

核心功能提供了两种选择:创建 Alt-Layouts 并将它们分配给后端中的每个类别和(每个!)文章。或者使用新的替代菜单项。后者是通过具有相同名称和位置的附加 XML 文件实现的。只要您使用类别和列表,结果就非常相似。但是文章全视图就不一样了:您不会自动获得全视图的替代布局!您必须在后端分配布局或使用文章选项中的 1 个全局设置。后者仅适用于没有相应 Alt-MenuItem 的文章。这可能导致“鸡-蛋-情况”。 AFAIK,前端提交需要每个编辑表单的替代 MenuItem 。当您“轻松”单击博客/列表项时,您无法获得替代的全视图布局。您的类别项目中的链接仍会导致“默认”,无需额外工作。根据我的经验,全视图布局仅在以下设置中显示:

用于类别和文章的 Alt.MenuItem (XML)。每篇文章的 MenuItem 必须存在,才能自动获取您的 alt.Layout。 Alt.Layout 分配给每个文章。 (体力劳动) 为类别设置了 Alt.Layout(无 XML)。 文章的管理器选项中只有 1 个全局设置。

K2

布局文件夹结构更简单。所有布局文件都位于同一个文件夹中,您只需重命名该容器文件夹。例如产品。内部文件保留其默认名称。这导致更容易和自动化的“工作流程”。布局被分配给一个类别和/或其子类别。由于文件/文件夹结构,文章完整视图会自动选择其布局。前端/后端之间没有区别。无需手动分配文章编辑。菜单中也没有单个 K2 项目。 (更不用说,每个类别都有额外的字段)

希望这会有所帮助。

【讨论】:

以上是关于在 Joomla 替代布局和使用 K2 模板之间感到困惑的主要内容,如果未能解决你的问题,请参考以下文章

如何为 k2 类别创建自定义模板并将此模板分配给 Joomla 支持?

Joomla中分类页面布局中的项目重叠(由于容器高度属性)

Joomla K2 内容按票数排序

如何在 K2 中为类别创建和使用模板?

php 为每个按类别排序的 joomla k2

从 Joomla K2 中移除 RSS Feed 图标(链接)