Bob*_*ack 4 drupal content-management-system drupal-7
我正在将一个站点从专有的cms(reddot)迁移到drupal.对于它的所有缺陷,reddot有一个非常简单而灵活的模型:
我对drupal的第一印象是:哇,这很复杂!而不是三个简单的对象,现在我正在处理节点,页面,块,区域,视图,面板等.重新创建我熟悉的模板/内容/占位符模型的最简单方法是什么?
Reddot使用了一个结构相当好的MVC系统.另外,从我有限的经验来看,Reddot遵循的只有一种方法来实现Foo -philosophy.
来到Drupal,尤其是作为前端开发者,你会失望,失去很多头发,当你意识到一切都必须重新完成时,可能会诅咒几次.
来到Drupal你会喜欢巨大的(不幸的是无组织的)文档及其灵活性和大量新的可能性.
当人们从适当的架构系统进入Drupal时,我建议他们做一件事:成为实用主义 - 极端主义者.不要(永远)尝试将事情做得恰到好处,干净或经过深思熟虑.一旦你真正理解Drupal,你将只能做到这一点.而这只有很多经验.只是小提琴,直到它工作,关闭代码,再也不要看它.
你需要学习的第一件事是Drupals PHPTemplate引擎,它与Reddots有很大不同,但有很多相似之处.Reddot使用RenderTags,Drupals PHPTemplate使用普通的旧PHP.
<%!! Context:CurrentPage.Template.Name !!%>
Run Code Online (Sandbox Code Playgroud)
变
<?php print $name ?>
Run Code Online (Sandbox Code Playgroud)
是的,$name完全是全球范围的.记得?我告诉过你要成为一个实用主义极端分子.甚至不要考虑命名空间,对象范围等.
想知道你有哪些变量?做一个<?php print get_defined_vars() ?>.
想在模板中添加新变量吗?你需要预处理它们.
想要更改,更改,删除或修改现有变量?您是需要预处理,还是模板覆盖甚至编写新模块,使新的或不同的变量可用?知道选择哪个,何时进行预处理,何时创建模块,何时覆盖,何时实现钩子以改变内容是经验.Drupal从来没有想过清楚,没有一般规则或最佳实践,除了Foo概念没有成功的最后十一次,也许Bar证明了最好的.
| 归档时间: |
|
| 查看次数: |
662 次 |
| 最近记录: |