Drupal 7 - Как назначить переменную для шаблона? - PullRequest
0 голосов
/ 15 марта 2011

Итак ... Я создал модуль под названием "Луна".В модуле я использую moon_menu, чтобы назначить меню, которое вызывает функцию moon_page для отображения чего-либо в браузере.

function moon_page(){

$moonsvariable = 'hi this is a function';
return theme('moon_display',$moonsvariable);

}

возможно ли назначить пользовательскую переменную шаблону и затем использовать ее в шаблоне?1004 *

Я хотел бы сделать это следующим образом.

function moon_page(){

  $custom_variable = "this is a custom variable";
  $moonsvariable = 'hi this is a function';
  return theme('moon_display',$moonsvariable);

}

Затем я хотел бы использовать <? print $custom_variable ?> в своей теме для его отображения.

Я пытался variable_set, но это не работает.

1 Ответ

3 голосов
/ 15 марта 2011
/*
 * Implementation of hook_theme().
 */
function moon_theme($existing, $type, $theme, $path){
  return array(
    'moon' => array(
      'variables' => array('content' => NULL),
      'file' => 'moon', // place you file in 'theme' folder of you module folder
      'path' => drupal_get_path('module', 'moon') .'/theme'
    )
  );
}

function moon_page(){

  // some code to generate $content variable as array
  $content['data1'] = 'Lorem ipsum';
  $content['data2'] = 'Ipsum lorem';

  return theme('moon', $content); // use $content variable in moon.tpl.php template

  // Or you can use few 'variables' in hook_theme function
  // smth like this 'variables' => array('content1' => NULL, 'content2' => NULL)
  // and return page as theme('moon', var1, var2)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...