如何在Drupal 7中将数据打印到面板窗格?

时间:2018-04-30 00:06:28

标签: php drupal drupal-7

我正在尝试将数据发送到Panel Panel。

我有一个简单的.tpl文件,现在只打印一条消息:

%include "io.inc"

section .data
msg db 'Hello, world!',10  ;string to be printed
len equ $ - msg     ;length of the string


section .text
   global main     ;must be declared for linker (ld)

main:               ;tells linker entry point
   mov  edx,len     ;message length
   mov  ecx,msg     ;message to write
   mov  ebx,1       ;file descriptor (stdout)
   mov  eax,4       ;system call number (sys_write)
   int  0x80        ;call kernel

   mov  eax,1       ;system call number (sys_exit)
   int  0x80        ;call kernel
   ret

但是,我在将消息数据发送到此.tpl时遇到问题。上面的打印件什么也没有返回。

在我的.module文件中,我有:

<?php print $message; ?>

在面板.inc文件中我有:

/**
 * Implements hook_ctools_plugin_directory().
 */
function message_ctools_plugin_directory($owner, $plugin_type) {
  if (($owner === 'ctools' && !empty($plugin_type)) || ($owner === 'panels' && $plugin_type === 'styles')) {
    return "plugins/$plugin_type";
  }
}

/**
 * Implements hook_theme().
 */
function message_theme() {
  return [
    'message_base' => [
      'template' => 'theme/message',
      'variables' => [
        'message' => '',
      ],
    ],
  ];
}

当我在上述函数中function message_panel_render($subtype, $conf, $args, $contexts) { $block = new stdClass(); $config = default_settings(); $block->content = [ '#theme' => 'message_base', 'message' => filter_xss($config['message']), ]; return $block; } 时,我发现一切都是正确的。它似乎没有达到.tpl文件。

有人知道我在这里做错了吗?

1 个答案:

答案 0 :(得分:0)

发现它适用于# '#message' => filter_xss($config['message']),