2016-03-18 4 views
0

Я немного не уверен, и документация на hook_theme довольно распространена.Пользовательский модуль Drupal7: как использовать механизм PHPTemplate для создания настраиваемого шаблона?

Я хочу, чтобы мой модуль мог создать собственный файл .tpl.php (template) вместе с некоторыми переменными для создания/отображения некоторого HTML-кода, который может быть отправлен по электронной почте.

Как бы я это сделал? Я предполагаю, что мне нужно использовать hook_theme, но я немного уверен, как на самом деле визуализировать и получать доступ к HTML, не отображая его нигде на сайте.

ответ

0

Я нашел ответ, с другим полезным источником:

/** 
* Implements hook_theme 
* 
* @param $existing 
* @param $type 
* @param $theme 
* @param $path 
* @return array 
*/ 
function MYMODULE_theme($existing, $type, $theme, $path) 
{ 
    return array(
    'name_of_theme_function' => array(
     'variables' => array('name_of_array' => array()), 
     'template' => 'name-of-my-template', 
     'path' => drupal_get_path('module', 'MYMODULE') . '/theme' 
    ), 
    ) 
} 

/** 
* My Module Callback 
* 
* @return string 
* @throws \Exception 
*/ 
function MYMODULE_callback_function(){ 
    $output = array('array value', 'array value 2'); 

    $output = array(
    '#theme' => 'name_of_theme_function', 
    '#name_of_array' => $output 
); 

    return render($output); 
} 

/*** Inside the template name-of-my-template.tpl.php 
dpm($name_of_array)