使用 PHP 在 drupal 模块中创建标准页面和表格

发布于 2024-10-27 18:37:39 字数 216 浏览 2 评论 0原文

我制作了一个具有简单菜单结构的模块。我能够以编程方式检索 PHP 中所有学生的视图。现在,我想在一个简单的表格中返回页面上的所有学生。

  • 如何制作标准页面?
  • 如何返回简单表中的值?

表的结构为

UGhentID 姓名学生 名字学生 地点 学生

12874749 Smith Nick New York 。 。 。

I made a module with a simple menu structure. I am able to programmatically retrieve a view of all my students in PHP. Now, I want to return all the students on a page in a simple table.

  • How can I make a standard page?
  • How can a return the values in a simple table?

The structure of the table is

UGhentID Name student First name student Location student

12874749 Smith Nick New York
.
.
.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

逆光飞翔i 2024-11-03 18:37:39

如果要创建新页面,则需要使用 hook_menu

例如:

/**
 * Implementation of hook_menu.
 */
function mymodule_menu() {
  $items = array();

  $items['myPage'] = array(
    'title' => 'Finances',
    'page callback' => 'mymodule_page',
    'access callback' => 'user_access',
    'access argument' => array('access nodes'),
  );
  return $items
}

/**
 * Page callback
 */
function mymodule_page() {
  $output = mymodule_table();
  return $output;
}

您可以在这里看到我在页面回调中调用“mymodule_table()”,这是您构建表的地方。

function mymodule_table() {
    $rows = array();
    // build the table header
    $header = array();
    for ($i = 1; $i <= 5; $i++) {
      $header[] = array('data' =>  $i, 'class' => 'header-class');
    }
    $row = array();
    for ($i = 1; $i <= 5; $i++) {
      $row[] = array('data' =>  $i, 'class' => 'row-class');
    }
    $rows[] = array('data' => $row);
    $output .= theme('table', $header, $rows, $attributes = array('class' => 'my-table-class'));
    return $output;
}

这应该输出一个表,其中包含标题 aa 行 a 行,有 5 列。

If you want to create a new page, you need to use hook_menu in a module.

For exemple :

/**
 * Implementation of hook_menu.
 */
function mymodule_menu() {
  $items = array();

  $items['myPage'] = array(
    'title' => 'Finances',
    'page callback' => 'mymodule_page',
    'access callback' => 'user_access',
    'access argument' => array('access nodes'),
  );
  return $items
}

/**
 * Page callback
 */
function mymodule_page() {
  $output = mymodule_table();
  return $output;
}

You can see here that I call "mymodule_table()" in the page callback, this is where you build your table.

function mymodule_table() {
    $rows = array();
    // build the table header
    $header = array();
    for ($i = 1; $i <= 5; $i++) {
      $header[] = array('data' =>  $i, 'class' => 'header-class');
    }
    $row = array();
    for ($i = 1; $i <= 5; $i++) {
      $row[] = array('data' =>  $i, 'class' => 'row-class');
    }
    $rows[] = array('data' => $row);
    $output .= theme('table', $header, $rows, $attributes = array('class' => 'my-table-class'));
    return $output;
}

This should output a table, with a header a a line a rows, with 5 columns.

情感失落者 2024-11-03 18:37:39

我不确定“标准页面”是什么意思,但我认为您可能想看看示例项目(http://drupal.org/project/examples),特别是 page_example 模块。

对于你的表,Drupal 提供了一个非常有用的 theme_table 函数。在最简单的形式中,您传递一个标题和行的数组,然后它返回表格的 html。

I'm not sure what you mean by a 'standard page' but I think you probably want to take a look at the examples project (http://drupal.org/project/examples), in particular that page_example module.

For your table, Drupal provides a theme_table function which is pretty useful. In it's simplest form you pass an array of headers and rows and it returns the html for a table.

国产ˉ祖宗 2024-11-03 18:37:39

根据 @Haza 的回答,这里有一个适用于 Drupal 7 的更新的表创建函数:

function mymodule_table() {
    $rows = array();
    // build the table header
    $header = array();
    for ($i = 1; $i <= 5; $i++) {
      $header[] = array('data' =>  $i, 'class' => 'header-class');
    }
    $row = array();
    for ($i = 1; $i <= 5; $i++) {
      $row[] = array('data' =>  $i, 'class' => 'row-class');
    }
    $rows[] = array('data' => $row);
    $data = array(
        'header' => $header,
        'rows' => $rows,
        'attributes' => $attributes
    );
    $output = theme('table', $data);
    return $output;
}

Based on @Haza's answer, here's an updated table creation function that works for Drupal 7:

function mymodule_table() {
    $rows = array();
    // build the table header
    $header = array();
    for ($i = 1; $i <= 5; $i++) {
      $header[] = array('data' =>  $i, 'class' => 'header-class');
    }
    $row = array();
    for ($i = 1; $i <= 5; $i++) {
      $row[] = array('data' =>  $i, 'class' => 'row-class');
    }
    $rows[] = array('data' => $row);
    $data = array(
        'header' => $header,
        'rows' => $rows,
        'attributes' => $attributes
    );
    $output = theme('table', $data);
    return $output;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文