我已经用PHP编写了4年的代码,甚至我都觉得它很复杂,很难理解。我不知道他们期望设计师如何管理主题。
我知道基本的主题化,tpl文件的主题化,视图模板,设想模板等等。但是,当我输入template.php文件时,我会迷路。
我需要为自定义内容类型设置一个节点输入表单的主题。我绞尽脑汁地看了7-9篇教程,但它还是没有结合在一起。我理解为什么模块构建会很复杂,因为大多数使用模块的人都是开发人员。
然而,即使是开发人员也无法理解主题化,这肯定是过度设计的!
也许是我的错,也许我没有好好学习德鲁帕尔。在这种情况下,是否有一个逐步成为德鲁巴大师的系统?
发布于 2010-09-14 07:08:53
如果你只知道基本的php,主题其实就没那么难了。您有3种修改标记的方法,css和js,您应该能够处理。
$content。您所需要的只是节点对象。yourtheme_page、节点模板的yourtheme_node等等。在这里,您可以创建一些自定义逻辑或修改,以帮助模板更加干净,只需处理变量的打印。yourtheme_[theme_function_name]的函数。您不需要理解多少php就可以做到这一点。通常,您只需复制原始主题函数,并对其进行一些修改以获得所需的标记。有了以上这些,你可以完成你所需要的90%-95%的事情。表单有点特别,因为在Drupal 6中,您不能(很容易)在主题中更改它们。相反,您想要的是创建一个小模块并使用hook_form_alter,它允许您修改表单、按钮上使用的文本等。这在Drupal 7中会被更改,这将更容易实现主题。
所以,它并没有那么复杂,只需使用上面描述的三个基本工具。棘手的部分可能是命名您的函数和模板,但发展themer可以帮助您做到这一点。您使用的另一个工具是开发,它可以帮助您打印出变量,以便检查它们并查看节点上有哪些可用的fx字段。
发布于 2010-09-14 07:18:37
也许你应该得到一份前端Drupal的副本。
在我看来,Drupal主题化并不难,只要你把你的头脑集中在模板、重写、.info文件和预处理函数等概念上。这些事情与php技能没有直接关系,它都是关于理解系统的。
有趣的是,您是一个themer,但是您只谈论php,而不是CSS和HTML。根据我的经验,许多主题任务都可以使用CSS完成,甚至无需接触php。
最后,我不知道您是否已经在使用基础/起始主题 (如禅宗或创世纪)。我建议使用一个基本主题,并实现您自己的设计作为一个子主题。
发布于 2010-09-14 10:38:21
大多数人都会得到“啊哈!”当主题突然开始有意义的时候。
我认为,对于经验丰富的PHP开发人员来说,这可能更难,因为您必须克服许多在普通PHP中没有意义的概念(“函数在适当的时候被神奇地调用了.因为它的命名方式?!”)
@googletorp的答案相当全面,所以我只想补充一些实用的技巧,它们帮助了我:
1)尝试构建一个实现自己的主题输出和简单挂钩的模块。当您看到模块实际上是如何调用和使用它们时,钩子和主题函数就更有意义了。
2)自由使用devel模块,特别是主题注册表菜单(注意添加新主题函数时它是如何变化的)、“呈现”选项卡以及dpm()和dvm()函数
3)买一本关于Drupal主题的老旧死树书。如果你已经知道你在做什么,那么在线文档是非常出色的,但是如果你不确定你在寻找什么,你可能会非常困惑。
4)倒空你的杯子。在主题层面,PHP实际上只是用于简单的逻辑和语法--几乎所有的实质内容都是由Drupal函数处理的。试着像Drupal开发人员而不是PHP开发人员那样思考(也就是说,不要仅仅因为构建了一个做同样事情的普通PHP站点就认为自己知道如何做某事),你就会过得更轻松。
坚持下去!一旦你搞清楚了,主题系统实际上是很容易使用的。
https://stackoverflow.com/questions/3706118
复制相似问题