【问题标题】:Prevent "direct access" to menu items but keep them accessible when embedded in articles防止“直接访问”菜单项,但在嵌入文章时保持可访问性
【发布时间】:2013-06-24 06:47:10
【问题描述】:

我已经建立了一个 Joomla 网站已经有几个星期了,并且几乎从零开始 Joomla 和 PHP 知识我不得不说我一直在摸索所有这些。无论如何,我有一个小“问题”,希望你们能帮我解决:

我正在使用Plugin Include Component 在文章中嵌入内容。自然地,该内容与菜单项相关联。问题是,我希望这些菜单项只能通过嵌入它们的文章来访问。这意味着我想以某种方式限制对菜单项的直接访问,但仍允许用户在文章中看到他们的内容。

为了便于理解,我将尝试更形象化:

我有一个与菜单项 A 关联的类别博客。 通过我上面提到的插件,我在文章B中嵌入了A。到目前为止,一切都很好!当显示B时,A中的分类博客也显示为其中的一部分。但我不希望用户能够在浏览器中输入 B 的 url 并直接访问它,因为这不利于我网站的结构和导航。显然,取消发布菜单项根本没有帮助,因为它将不再在文章中可见。

如果我没有说清楚,我深表歉意。有什么提示或技巧吗?

【问题讨论】:

  • 您是否有问题,菜单项被视为网站上显示的菜单的一部分,或者只是有人可以输入菜单项的 url 并且它会显示?
  • 不,完全没有问题,只是,正如您所说,有人可以输入菜单项的 url 并直接访问它。但我想没有办法治愈哈哈。

标签: joomla joomla2.5 joomla-extensions


【解决方案1】:

好的,至于不能直接访问A项的菜单项,只需将菜单项发布到一个不添加到任何模块位置的新菜单中即可。这样就没有用户可以通过前端访问的直接链接。

就用户在项目 A 的 url 中键入内容而言,您很不走运。没有办法阻止这种情况。创建菜单项后,就有一个必须可访问的 URL。使用隐藏菜单技巧,用户必须知道 URL 存在才能到达那里,但如果他们知道它就会在那里。您将网站放在一起的方式不应该让用户看到网址,因此他们可能永远不会输入它,但这是可能的。

【讨论】:

  • 是的,我使用了隐藏菜单技巧。困扰我的是,一旦网站发布并且 Google 爬虫到达它,这些链接最终将对任何运行搜索的人可见(我说的对吗?)。不管怎样,这不是生死攸关的问题,只是想保持整洁。非常感谢!!
  • 是的,@Brent Friar 的回答可以让您在没有一些自定义代码的情况下尽您所能 - 或者至少,我不知道这样一个插件会完全按照您的意愿行事。然而,我要说的是,这是可以通过创建一个内容/系统插件来实现的,该插件呈现一个隐藏的表单,在该表单中生成一个 JToken,该 JToken 在请求的页面中通过 afterRoute 进行身份验证。嗯,这至少是它的一般要点。我的意思是,您可以根据自己的意愿使这个插件变得简单或复杂;包括 {placeHolders},包括/排除猫、文章等。
  • Google 只会在您的网站上实际获取链接。由于插件应该处理所有链接服务器端,因此您不必太担心。我能想到的唯一技巧是将隐藏菜单项的访问级别设置为“特殊”。如果插件不检查访问级别(我不知道是否检查),那么它可能仍将其包含在页面中,而菜单项将无法通过菜单项访问,而无需以管理员身份登录。
猜你喜欢
  • 1970-01-01
  • 2013-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-16
相关资源
最近更新 更多