在Drupal中,可以基本设置元素的样式,例如搜索框或基本页面等,然后在网站中放置一些内容,生成结果页面。但是,如果您希望某个特定网站(例如索引页)不同,该怎么办?例如。将图像作为背景,使用不同的导航样式等。
这样做最好的方法是什么?
答案 0 :(得分:0)
最佳做法是使用hook_custom_theme()检查当前路径,以便切换到不同的主题。还要确保启用要切换到的主题:
/**
* Implements hook_custom_theme().
*/
function YOUR_MODULE_custom_theme() {
# check path with arg(0)
# return theme name to switch to
return 'different_theme_machine_name';
}
或者你也可以试试ThemeKey开箱即用的界面&允许您指定规则。
答案 1 :(得分:0)
如果您只需要更改页面的内容(正文)部分,请使用Disply Suite。您可以为每个页面的正文部分创建独特的外观布局。
如果您尝试更改一个页面的完整布局(例如:服务),请创建新的内容类型“服务”。然后为此内容类型创建模板文件,您必须将此模板调用页面命名为services.tpl.php。您还可以通过创建page-front.tpl.php模板来覆盖索引页面布局。完成!
答案 2 :(得分:0)
你想要改变的是所有造型。而且你知道你可以用一个页面看起来与CSS截然不同......你可以这样做,这取决于你选择的Drupal主题。
现在,使用Chrome Inspector(或FF检查器)查看body标签,它可能有许多类,表明您在哪个页面中,节点类型(如果它是节点)或者是否为管理部分,或匿名用户。
使用这些特定的类可以设置首页,视图,节点或任何东西的样式,而无需安装更多模块......但有一些限制,因为您无法以这种方式更改呈现的HTML。
最后,不要因为在Drupal中使用模块而感到害怕,这就是Drupal的工作方式,它的工作原理非常好。问题是安装最好的工具来提高你的工作效率,Drupal有很好的选择来改变你的主题和内容,比如Display Suite(如@BaikHo建议的那样)。
希望有所帮助。
PD:使用less模块和自定义主题,你可以拥有LESS css,这比仅使用CSS快得多,而且因为它与Drupal集成,你可以让主题更快。试一试。