首页 > 解决方案 > 如何在 Drupal 7 中将数据打印到面板窗格?

问题描述

我正在尝试将数据发送到面板窗格。

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

<?php print $message; ?>

但是,我无法将消息数据发送到此 .tpl。上面的打印没有返回任何内容。

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

/**
 * 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' => '',
      ],
    ],
  ];
}

在面板 .inc 文件中,我有:

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;
}

当我dpm($block);在上述函数中时,我看到一切都是正确的。似乎什么都没有到达 .tpl 文件。

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

标签: phpdrupaldrupal-7

解决方案


发现它与#at一起使用'#message' => filter_xss($config['message']),


推荐阅读