drupal6-阻止视图给块id一个哈希名-块预处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了drupal6-阻止视图给块id一个哈希名-块预处理相关的知识,希望对你有一定的参考价值。

This code goes directly into your template.php file after you remove the open and close PHP tags at the beginning and end.

Then place the call below in your block.tpl.php. Don't forget to flush cache.
  1. <?php
  2.  
  3. /**
  4.  * Hook Preproccess Block
  5.  */
  6. function phptemplate_preprocess_block(&$vars) {
  7. $block = $vars['block'];
  8. $chars_delta = strlen($block->delta);
  9. // don't do anything if this block is not from views module or if delta < 32 chararacters
  10. // because md5 is always 32
  11. if ($block->module == 'views' && $chars_delta >= '32') {
  12. //get from variable table the hashes and their corresponding views name, in an associative array
  13. $hashes = variable_get('views_block_hashes', '');
  14. // add a nice new template suggestion if this delta is a hash
  15. if(isset($hashes[$block->delta])) {
  16. $block->custom_classes['block_id'] = $block->module .'-'. $hashes[$block->delta];
  17. $vars['template_files'][] = $block->custom_classes['block_id'];
  18. }
  19. }
  20. else {
  21. // just set the normal block id for css
  22. $block->custom_classes['block_id'] = $block->module .'-'. $block->delta;
  23. }
  24. }
  25.  
  26. ?>
  27.  
  28.  
  29.  
  30. /*How to call this in block.tpl.php*/
  31. <div id="block-<?php print $block->custom_classes['block_id']; ?>" class="clear-block block block-<?php print $block->module ?>">

以上是关于drupal6-阻止视图给块id一个哈希名-块预处理的主要内容,如果未能解决你的问题,请参考以下文章

PHP Drupal 6 - 停止向块ID提供哈希名称的视图 - 块预处理

Drupal 8将当前nid传递给块模板

在Drupal6中将视图插入页面

(Drupal 6 Views)如何制作一个显示特定节点列表的视图(按节点ID)?

使用视图2和Drupal6创建相关页面块

主题主要链接Drupal6.x添加跨距和有用的ID