如题.比如:product栏目的term页面 是<body id="product" class="term">product栏目的node页面 是<body id="product" class="node"> 假设网站有栏目:关于我们 新闻中心 产品中心 联系方式其中【关于我们】和【联系方式】共用同一个content type【新闻中心】和【产品中心】各自有自己的content type. 请教下葛仙人,该如何实现... 论坛: 有问有答 (怎么发布出来的帖子 格式都乱掉了) (怎么发布出来的帖子 格式都乱掉了 和发布之前的不一样) 参考了下:http://drupal.org/node/3 参考了下:http://drupal.org/node/32077 【How to generate <body> class/id attributes for each page 】 发现不是很符合需求,太冗长了 生成的id和class 这个是在模板中控制的, 这个是在模板中控制的,你可以在页面的模板文件中,进行判断,不同的页面输出不同的id就可以了.page.tpl.php。多写一点if语句。 额的个娘哩, 就怕写这些判断了,, 一是多, 二是有的 额的个娘哩, 就怕写这些判断了,, 一是多, 二是有的情况栏目还是由客户动态添加的,这样就不好控制了 每个内容类型一个page.tpl.php文件就可以了 每个内容类型一个page.tpl.php文件就可以了,你找找看,这里面有介绍的。 嗯 是啊,我看过你之前写的用page-type.tpl.p 嗯 是啊,我看过你之前写的用page-type.tpl.php的方法, 但是看似葛兄的方法只是对node页面有效,而在term页面就对page-type.tpl.php无动于衷了。。。 因为$node->type,这个东东 只会在node页面里面有效,而在term页面是不管用的 term页面也是类似的原理 term页面也是类似的原理 其实类似原理才怪, 其实“类似原理”才怪, 因为在term里面没有node页面下类似的$node变量, 所以要判断都没有参照的东西。 --------------------------- 没办法,最后使用这个不是很科学的办法, 人工判断页面的title之后再来给body id,(也写出来,给大家参照下) <body switch (trim(strtolower($title))) { case "about us": echo 'id="aboutus"'; break; case "contact us": echo 'id="contactus"'; break; case "store list": echo 'id="storelist"'; break; case "data and other policies": echo 'id="dop"'; break; case "welcome": echo 'id="welcome"'; break; } ?>> 一个叫JAM的同学写的 刚开始的人都这么写,能解决问题就可以了 刚开始的人都这么写,能解决问题就可以了,term也有路径的,page-url.tpl.php就可以了,我说的就是这个原理。这个url就是内部的路径。
参考了下:http://drupal.org/node/3 参考了下:http://drupal.org/node/32077 【How to generate <body> class/id attributes for each page 】 发现不是很符合需求,太冗长了 生成的id和class
嗯 是啊,我看过你之前写的用page-type.tpl.p 嗯 是啊,我看过你之前写的用page-type.tpl.php的方法, 但是看似葛兄的方法只是对node页面有效,而在term页面就对page-type.tpl.php无动于衷了。。。 因为$node->type,这个东东 只会在node页面里面有效,而在term页面是不管用的
其实类似原理才怪, 其实“类似原理”才怪, 因为在term里面没有node页面下类似的$node变量, 所以要判断都没有参照的东西。 --------------------------- 没办法,最后使用这个不是很科学的办法, 人工判断页面的title之后再来给body id,(也写出来,给大家参照下) <body switch (trim(strtolower($title))) { case "about us": echo 'id="aboutus"'; break; case "contact us": echo 'id="contactus"'; break; case "store list": echo 'id="storelist"'; break; case "data and other policies": echo 'id="dop"'; break; case "welcome": echo 'id="welcome"'; break; } ?>> 一个叫JAM的同学写的
(怎么发布出来的帖子 格式都乱掉了)
(怎么发布出来的帖子 格式都乱掉了 和发布之前的不一样)
参考了下:http://drupal.org/node/3
参考了下:http://drupal.org/node/32077
【How to generate <body> class/id attributes for each page 】
发现不是很符合需求,太冗长了 生成的id和class
这个是在模板中控制的,
这个是在模板中控制的,你可以在页面的模板文件中,进行判断,不同的页面输出不同的id就可以了.page.tpl.php。多写一点if语句。
额的个娘哩, 就怕写这些判断了,, 一是多, 二是有的
额的个娘哩,
就怕写这些判断了,,
一是多,
二是有的情况栏目还是由客户动态添加的,这样就不好控制了
每个内容类型一个page.tpl.php文件就可以了
每个内容类型一个page.tpl.php文件就可以了,你找找看,这里面有介绍的。
嗯 是啊,我看过你之前写的用page-type.tpl.p
嗯
是啊,我看过你之前写的用page-type.tpl.php的方法,
但是看似葛兄的方法只是对node页面有效,而在term页面就对page-type.tpl.php无动于衷了。。。
因为$node->type,这个东东 只会在node页面里面有效,而在term页面是不管用的
term页面也是类似的原理
term页面也是类似的原理
其实类似原理才怪,
其实“类似原理”才怪, 因为在term里面没有node页面下类似的$node变量,
所以要判断都没有参照的东西。
---------------------------
没办法,最后使用这个不是很科学的办法,
人工判断页面的title之后再来给body id,(也写出来,给大家参照下)
<body
switch (trim(strtolower($title))) {
case "about us":
echo 'id="aboutus"';
break;
case "contact us":
echo 'id="contactus"';
break;
case "store list":
echo 'id="storelist"';
break;
case "data and other policies":
echo 'id="dop"';
break;
case "welcome":
echo 'id="welcome"';
break;
}
?>>
一个叫JAM的同学写的
刚开始的人都这么写,能解决问题就可以了
刚开始的人都这么写,能解决问题就可以了,term也有路径的,page-url.tpl.php就可以了,我说的就是这个原理。这个url就是内部的路径。