我想在ColdFusion和我们的CFINCLUDE中设置一个带导航链接的页面,以便在每个页面上拉入导航。如果我将所有页面保留在根文件夹中,导航工作正常,但我想在子文件夹中组织我的页面。当我链接到:
<a href="pages/page2.cfm">Page 2</a>
我转到第二页,但在尝试回到时:
<a href="page1.cfm">Page 1</a>
我收到以下错误:找不到文件:navigationtest / pages / page1.cfm。
我知道您需要使用../如果我将导航放在每个单独的页面上,就像它与子文件夹一样,但我想要一个带有导航的页面,并在所有其他页面上包含它。
如何设置导航以使其适用于ColdFusion中的子文件夹?
这是我的文件结构:
这是我的包含页面:
这是我的页码(在所有页面上都相同,除了在正文中它是相应的页面名称(即 - 默认,第1页,第2页):
答案 0 :(得分:1)
如果您有一个全局布局文件,一个启动<html>
标记的文件,请添加<base href="{domain}" >
标记,所有锚点(<a>
)标记都会将其用作所有标记的根目录链接,图像等。
或者,您可以将所有链接,图像等href
值更改为以前导斜杠开头。这告诉浏览器从网站的根目录开始,然后从那里查看。
所以而不是
<a href="page1.cfm">Page 1</a>
使用
<a href="/page1.cfm">Page 1</a>
然后,如果你在第3级文件夹中,那么指向page1.cfm的链接将始终从网站的根目录而不是相对于当前文件夹,这就是现在正在发生的事情。
就个人而言,我会使用像ColdBox或FW/1这样的框架,其中所有网址都是从根驱动的,布局可以在没有所有CFINCLUDE
的地方处理。
答案 1 :(得分:1)
我会将所有导航链接设置为以root身份开头。像这样:
<a href="/default.cfm">Home</a>
<a href="/page1.cfm">Page 1</a>
<a href="/pages/page2.cfm">Page 2</a>
因此,即使您在第2页,浏览器也会在根目录中而不是在/ pages文件夹中查找page1.cfm。