高级drupa主l题设系计列—定制drupal的分类展示.docxVIP

高级drupa主l题设系计列—定制drupal的分类展示.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级drupa主l题设系计列—定制drupal的分类展示

高级Drupal主题设计系列——定制Drupal的分类展示理Drupal分类的显示关于Drupal的一点小序大部分正在看这篇文章的人都知道Drupal是一套强大的CMS系统。它具有灵活的平台以及可以构建几乎任何类型的网站的基础。它良好的架构能够非常到位地把代码、内容以及样式分离开来。也许在处理主题时,这种灵活性会带来很多挑战。从基础的角度讲,创建Drupal主题的过程还算比较简单。丰富的技术文档和协助社区摆在那儿等着模板开发者的光临,但仍没有足够的潜力和适用性。 除了创新,开发Drupal主题还需要有开阔的思维来理解屏幕背后的那些逻辑关系,并且要能够灵活应用。事实上,这项工作既要有设计师的思想也要开发者的思维。在最近的工作中,我明白了为什么大多数Drupal的主题是如此相似,因为它们的开发者们不希望把精力花在更高级的主题开发上。如果你想做出一些与众不同的作品,那你就得深入主题开发。普遍存在的东西是不能如此的出色,正如你了解到的,它仅满足用户基本的要求,但这些对说高级定制主题来说是一个不错的开始。总之,我决定把我之前用到的主题技巧、手法都分享出来,涉及到CSS、PHP以及Drupal等方面。通常我使用默认的PHPTemplate主题引擎。你也许会奇怪,为什么不使用其它的引擎比如Smarty?要知道Smarty确实很强大但我认为它在运行性能方面会不堪忍睹,太丰富的功能会影响引擎加载时的速度。而PHPTemplate则刚好能以最小的代价满足我们的需求。下面开始我们的主题大餐!(Cut to the cheese)不说废话了,让我们开始学习吧。 分类是对内容的组织方式。当显示一个node时,初级主题一般用最简单的方式来展示分类词条,只要看看本文(标题下面的提交信息和关联的词条)就知道了。 我最近为我的客户开发一个房地产的网站,该项目中有一个简单的要求,在一个类似样本或目录的标识卡上显示词汇并附上专业术语和属性页, 需求中有多个词汇表,并且每词汇表都有对应的一套关于类型、位置、大小、以及价格等的词条,如下所示: Place - Here - Other place - There - Over there - TheremostType - Flat - Castle - Roman - Gothic - etc... - House我们需要把这些类别显示成一个表格来描绘这参数之间的从属,但是在汇总页面我们不需要显示这些表格。因此我把下面的代码添加到template.php文件中: ?phpfunction _phptemplate_variables($hook, $vars = array()) { switch ($hook) { case node: // we are dealing only with property node type if ($node-type == property) { // and if there are any assigned terms to that node if (count($node-taxonomy)) { $terms = taxonomy_node_get_terms($node-nid); // getting each term assigned foreach($node-taxonomy as $term) { // get the parent term $parent = taxonomy_get_parents($term-tid); $prefix = @array_shift($parent)-name. / ; // get the vocabulary of the term $term_vocabulary = taxonomy_get_vocabulary($term-vid); // construct table row for table $rows[$i++] = array(array(data = $term_vocabulary-name.:, class = name, header), array(data = $prefix.$term-name, class = value)); // construct unordered list for teaser $list[$i] = $term_vocabulary-name.:br / strong.$prefix.$term-name./strong; } // build the variable for tpl.php pages $vars[property_infotable] = theme_table(NULL, $rows, array(class=prope

您可能关注的文档

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档