I’ve been trying for the last couple of hours and failing to use theme_hook_suggestions for custom webform confirmation templates. I want all webforms on a specific content type to use a particular confirmation page template.
So I’ve got the following in webform_confirmation.preprocess.inc (I’m using Omega4 which puts preprocess functions into include files):
function foeomega_preprocess_webform_confirmation(&$vars) { $vars['theme_hook_suggestions'][] = 'webform_confirmation__' . $vars['node']->type; ... }
Then I have 2 template files:
- webform-confirmation.tpl.php = The generic one I want to override
- webform-confirmation–myspecialnode.tpl.php = The new one I want to use instead
No matter how many times I ‘drush cc all’/’drush cc theme-register’ the suggestion template is never picked up 🙁
However, I did get the suggestion to work if I commented out the following in webform.module file:
function webform_theme() { ... 'webform_form' => array( 'render element' => 'form', 'template' => 'templates/webform-form', // I COMMENTED THIS OUT: 'pattern' => 'webform_form_[0-9]+', ), ... }
Leading me to believe that pattern and suggestions are not compatible – however I can’t find any information on this by Googling – can anyone confirm/deny?
Thinking that ‘pattern’ and ‘theme_hook_suggestions’ don’t mix, I tried implementing the following in my template.php file:
function foeomega_theme_registry_alter(&$theme_registry) { if($theme_registry['webform_confirmation']['pattern']) { unset($theme_registry['webform_confirmation']['pattern']); } }
This did seem to remove it from the registry, but alas, the generic template file was still being used (after make ‘drush cc …’ commands…).
Any ideas? I’d really like to have nice content-type specific confirmation pages?
Many thanks, Chris 🙂