比如,我定义了一个模块,其中路径定义为$items['mypage']。 那么,我想给/mypage访问时单独定义一个模板,而其他页面的模板用默认的。 这样,这个页面的模板文件应该放在那里,文件名如何定义呢? 论坛: 有问有答Drupal版本: drupal7 放到Drupal的默认主题所在的目录,使用page--my 放到Drupal的默认主题所在的目录,使用page--mypage.tpl.php这个文件名就可以了。 放到主题目录的templates目录下面也可以。 还有其他地方需要设置吗?我现在用的默认的bartik主题 还有其他地方需要设置吗? 我现在用的默认的bartik主题,我新建了文件 \themes\bartik\templates\page--mypage.tpl.php 不生效,改为 \themes\bartik\templates\page-mypage.tpl.php \themes\bartik\page--mypage.tpl.php \themes\bartik\page-mypage.tpl.php 等也不生效。 但我如果直接修改 \themes\bartik\templates\page.tpl.php 就会生效,但是这样所有的页面就都改变了 你有没有清楚Drupal的缓存,每加一个新的模板文件,或者 你有没有清楚Drupal的缓存,每加一个新的模板文件,或者模板文件建议的时候,都需要清除Drupal缓存。 好了,非常感谢。 再追问点问题: 1.为什么文件名用pa 好了,非常感谢。 再追问点问题: 1.为什么文件名用page--mypage.tpl.php而不是page-mypage.tpl.php? 看到很多地方使用的-和--都不同,这个的规则是什么? 2.我当前使用的主题是系统自带的bartik,我想定义某个页面的模板,必须得新建文件到系统的\themes\bartik目录吗?能不能放在自定义的\sites\all\themes\custom目录下? 3.我如何能给我的自定义模板赋一个自定义变量,像自带的$head一样使用? 1,drupal6里面,使用page-mypage.tpl 1,drupal6里面,使用page-mypage.tpl.php, drupal7里面使用page--mypage.tpl.php。 默认就是这样设计的。 2,是的,需要放到\themes\bartik目录。你可以把文件放到\themes\bartik\templates目录下面的任意子目录下面,但是不能直接放到\sites\all\themes\custom目录下。 3,变量需要在预处理函数中定义,具体用法可以参看THink in Drupal第1集第2章里面的例子。 明白了,非常感谢老葛的指导 明白了,非常感谢老葛的指导
放到Drupal的默认主题所在的目录,使用page--my 放到Drupal的默认主题所在的目录,使用page--mypage.tpl.php这个文件名就可以了。 放到主题目录的templates目录下面也可以。
还有其他地方需要设置吗?我现在用的默认的bartik主题 还有其他地方需要设置吗? 我现在用的默认的bartik主题,我新建了文件 \themes\bartik\templates\page--mypage.tpl.php 不生效,改为 \themes\bartik\templates\page-mypage.tpl.php \themes\bartik\page--mypage.tpl.php \themes\bartik\page-mypage.tpl.php 等也不生效。 但我如果直接修改 \themes\bartik\templates\page.tpl.php 就会生效,但是这样所有的页面就都改变了
好了,非常感谢。 再追问点问题: 1.为什么文件名用pa 好了,非常感谢。 再追问点问题: 1.为什么文件名用page--mypage.tpl.php而不是page-mypage.tpl.php? 看到很多地方使用的-和--都不同,这个的规则是什么? 2.我当前使用的主题是系统自带的bartik,我想定义某个页面的模板,必须得新建文件到系统的\themes\bartik目录吗?能不能放在自定义的\sites\all\themes\custom目录下? 3.我如何能给我的自定义模板赋一个自定义变量,像自带的$head一样使用?
1,drupal6里面,使用page-mypage.tpl 1,drupal6里面,使用page-mypage.tpl.php, drupal7里面使用page--mypage.tpl.php。 默认就是这样设计的。 2,是的,需要放到\themes\bartik目录。你可以把文件放到\themes\bartik\templates目录下面的任意子目录下面,但是不能直接放到\sites\all\themes\custom目录下。 3,变量需要在预处理函数中定义,具体用法可以参看THink in Drupal第1集第2章里面的例子。
放到Drupal的默认主题所在的目录,使用page--my
放到Drupal的默认主题所在的目录,使用page--mypage.tpl.php这个文件名就可以了。
放到主题目录的templates目录下面也可以。
还有其他地方需要设置吗?我现在用的默认的bartik主题
还有其他地方需要设置吗?
我现在用的默认的bartik主题,我新建了文件
\themes\bartik\templates\page--mypage.tpl.php
不生效,改为
\themes\bartik\templates\page-mypage.tpl.php
\themes\bartik\page--mypage.tpl.php
\themes\bartik\page-mypage.tpl.php
等也不生效。
但我如果直接修改
\themes\bartik\templates\page.tpl.php
就会生效,但是这样所有的页面就都改变了
你有没有清楚Drupal的缓存,每加一个新的模板文件,或者
你有没有清楚Drupal的缓存,每加一个新的模板文件,或者模板文件建议的时候,都需要清除Drupal缓存。
好了,非常感谢。 再追问点问题: 1.为什么文件名用pa
好了,非常感谢。
再追问点问题:
1.为什么文件名用page--mypage.tpl.php而不是page-mypage.tpl.php?
看到很多地方使用的-和--都不同,这个的规则是什么?
2.我当前使用的主题是系统自带的bartik,我想定义某个页面的模板,必须得新建文件到系统的\themes\bartik目录吗?能不能放在自定义的\sites\all\themes\custom目录下?
3.我如何能给我的自定义模板赋一个自定义变量,像自带的$head一样使用?
1,drupal6里面,使用page-mypage.tpl
1,drupal6里面,使用page-mypage.tpl.php,
drupal7里面使用page--mypage.tpl.php。
默认就是这样设计的。
2,是的,需要放到\themes\bartik目录。你可以把文件放到\themes\bartik\templates目录下面的任意子目录下面,但是不能直接放到\sites\all\themes\custom目录下。
3,变量需要在预处理函数中定义,具体用法可以参看THink in Drupal第1集第2章里面的例子。
明白了,非常感谢老葛的指导