【问题标题】:Create a childpage in Joomla without showing it in a menu在 Joomla 中创建子页面而不在菜单中显示它
【发布时间】:2014-02-08 19:43:57
【问题描述】:

我想在 Joomla 中创建一个页面而不在菜单中显示它。 当 URL 可以来自根时,这将很容易,例如 www.mysite.com/hiddenpage 我只会制作一个没有模块的菜单来显示它并为该隐藏菜单分配一个菜单链接。

但是网址应该是 www.mysite.com/parentpage/hiddenpage 因此,该页面应作为子页面链接到另一个现有页面,但不显示在菜单中。

到目前为止,这似乎不可能? 我是否忽略了 Joomla 中的一项功能,该功能允许我简单地停用菜单中的可见性,而不会阻止从 Internet 访问该页面?

或者也许可以编辑或覆盖核心组件以强制 Joomla 允许这种行为?

更新: 一个方向想太多了... 解决方案是编辑 menu-item > linktype > css 给它“隐藏”类(集成引导类),以阻止菜单中的可见性......

【问题讨论】:

  • 嗯,这个子页面应该是一篇文章吗?您不需要菜单项来打开文章,只需使用如下 URL:mysite.com/index.php?option=com_content&view=article&id=YourArticleId
  • 是的,这是一篇文章,可以通过这种方式访问​​该页面。但是 URL 应该变成 www.mysite.com/parentpage/hiddenpage。这可以通过重写来完成,但是我的客户应该完成所有的编码(他不想这样做)

标签: joomla joomla3.2


【解决方案1】:

这是可能的,但有点棘手。请尝试以下步骤:

  1. 新建两篇文章,随意命名(例如文章 A 和文章 B)
  2. 创建一个新菜单组(从您的管理员页面转到:菜单 > 菜单管理器 > 添加新菜单,将其命名为“隐藏菜单
  3. 创建一个新的单篇文章菜单项(在“隐藏菜单”下),选择“Article A”作为文章来源并输入“parentpage” 菜单标题字段中的'
  4. 新建单篇文章菜单项(在'Hidden Menu'下),选择'Article B'作为文章来源,选择'parentpage”菜单作为父项,并在菜单标题字段中输入“hiddenpage”。

现在应该可以访问 www.mysite.com/parentpagewww.mysite.com/parentpage/hiddenpage 两个网址

【讨论】:

  • 感谢您的回答,一个非常聪明的解决方案。但是,该页面实际上并不是现有页面的子页面,这需要我的客户方面做很多工作。
  • 我不太明白你的意思的子页面。你能详细说明一下吗?
  • 啊我明白你的意思了,所以“父页面”也应该是一篇文章,对吧?我已经修改了我的答案,请尝试。
  • 这样子页面仍然不是现有页面的子页面,而是一个新的假页面。父页面 + 菜单链接 + URL 已经存在,新的子页面应该是那个页面的子页面...
  • 请解释一下您的意思的“子页面”到底是什么
【解决方案2】:

正如其他人所提到的,您可以找到使用 CSS 修改 URL 或隐藏菜单项的扩展程序,但这些可能需要相当多的工作,尤其是在一次性或偶尔出现的情况下。

但是,有一种方法可以按原样使用 Joomla 执行此操作,并且可以处理任何类型的菜单项,而不仅仅是文章。这些说明假设您已经有一个“隐藏”菜单设置。

  1. 隐藏菜单中,为parentpagehiddenpage创建菜单项(如果它们已经存在,则移动它们)。
  2. parentpage 设置为 hiddenpage 菜单项中的“父项”选项。基本上,创建您希望在 URL 中看到的页面/子页面结构。
  3. 在您的可见菜单上,创建一个“菜单项别名”(在“系统链接”下)菜单项。将“菜单项”选项设置为父页面(在隐藏菜单下列出)。
  4. 享受吧。 父页面 是一个可见的菜单项。 hiddenpage 位于 www.mysite.com/parentpage/hiddenpage

-尼克

【讨论】:

    【解决方案3】:

    不,这在 Joomla 中是不可能的。

    有几个选项可以实现相同的结果,我按容易的顺序列出它们。

    1. 使用 joomla 重定向组件。只需告诉用户浏览他想要的url,然后他会在管理员-组件-重定向中找到它,她可以在其中插入非sef url。

    2. 告诉他们使用不同的前缀:即创建一个隐藏菜单,他们将在其中添加直接链接;

    此外,为了从 url 中删除 id,您可以:

    1. 安装 simplecustomrouter 扩展,它应该可以直接完成工作,但您可能需要进行一些编码才能使其正常工作;非常轻巧。

    2. 选择一个 blasoned SEF 扩展,例如 sh440sef,这会增加一些开销,并且可能需要大量的配置工作。

    【讨论】:

    • 好建议。我希望我忽略了 Joomla 中的一个功能,它可以让我简单地停用菜单中的可见性,而不会阻止从 Internet 访问该页面......我猜不可能。 1. 生成 301 2. 不允许使用不同的前缀,此外:是否可以使用这些扩展来制作新的“隐藏”页面,而无需在我的客户端进行大量工作,在内部重写,而无需 301?我试试看。
    • 是的,我提出的所有 4 个解决方案都可以做到;当然这仍然是一个两步过程,创建文章,然后冲浪到所需的 url,最后将 404 分配给文章非 SEF url; Joomla 重定向将是手动的,而 sh404 或其他人将尝试猜测并提供一些支持以匹配适当的非 SEF url。
    【解决方案4】:

    对于 JOOMLA 3.X: 在编辑子菜单时,只需将(在“Linktype”下)“在菜单中显示”设置为“否”......就这么简单! 这是对 joomla.docs 网站的参考

    https://docs.joomla.org/images/6/6f/Help-3x-menus-menu-manager-new-menu-item-link-type-en.png

    如果链接断开,以后只需搜索“edit menu linktype joomla 3”即可。

    我很高兴我可以将许多节省的搜索时间返还给你们所有的堆栈人员。加入社区!

    【讨论】:

    • 仅链接的答案通常是 Stack Overflow 上的frowned upon。随着时间的推移,链接可能会萎缩并变得不可用,这意味着您的答案将来对用户毫无用处。如果您可以在实际帖子中提供答案的一般详细信息,并引用您的链接作为参考,那将是最好的。
    猜你喜欢
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    相关资源
    最近更新 更多