Beware of long View names.

I was debugging a Views block the other day and couldn't figure out why it wasn't hitting my block tpl. Pretty scary why it wasn't..

but first some background.


the view:     product_category_reviews

display id:  block_1


Standard Drupal block theming will pick up block.tpl.php unless it finds something earlier in the $template_files that it can use.


In D5 our tpl was:             block-views-product_categories_reviews.tpl.php


in D6, we need to include display id in this so tpl would become:               block-views-product_categories_reviews -block_1.tpl.php


BUT.. this wasn't being hit...


when I put a breakpoint in block.tpl.php and looked at the $template_files var, the array was:


[0]          block-content_bottom  (this is the region the block is in)

[1]          block-views

[2]          block-views-ba843477361f490ca5c9e42548f0127d


which means Drupal is looking for a tpl named: block-views-ba843477361f490ca5c9e42548f0127d.tpl.php


and again.. what the hell??


turns out that Views (lord know why it doesn't just complain about this) has a view name that with the display id on it exceeds 32 characters.. it hashes the name for internal use for things like tpls.


since "product_categories_reviews -block_1" exceeds 32 characters...


I changed the view name to our_reviews and changed the tpl to block-views-our_reviews-block_1.tpl.php and sure enough.. we're good to go!!

Drupal Version: