0
我在我的數據庫中有一張桌子。我想使用該表的數據並創建該數據的表單。我創建了一個模塊並創建了一個form.php頁面。在函數中寫入select查詢,但是如何從這些數據創建表單?如何使用select查詢在drupal 8中創建表單?
我在我的數據庫中有一張桌子。我想使用該表的數據並創建該數據的表單。我創建了一個模塊並創建了一個form.php頁面。在函數中寫入select查詢,但是如何從這些數據創建表單?如何使用select查詢在drupal 8中創建表單?
我相信你想創建表數據的列表頁面。以下是您可以如何使用分頁和列排序創建表格列表。
假設您有一個名爲「students」的表格,其中包含以下字段。 ID,名稱,電子郵件地址
1.在模塊的以下路徑中創建一個控制器。 模塊/ your_module/src目錄/控制器/ StudentsController.php
<?php
namespace Drupal\your_module\Controller;
use Drupal\Core\Controller\ControllerBase;
class StudentsController extends ControllerBase {
public function __construct() {
}
public function list() {
$header = array(
array('data' => t('ID'), 'field' => 'st.id'),
array('data' => t('Name'), 'field' => 'st.name'),
array('data' => t('Email'), 'field' => 'st.email'),
);
$query = db_select('students', 'st')
->fields('st', array('id', 'name', 'email'))
->extend('Drupal\Core\Database\Query\TableSortExtender')
->extend('Drupal\Core\Database\Query\PagerSelectExtender')
->orderByHeader($header);
$data = $query->execute();
$rows = array();
foreach ($data as $row) {
$rows[] = array('data' => (array) $row);
}
$build['table_pager'][] = array(
'#type' => 'table',
'#header' => $header,
'#rows' => $rows,
);
$build['table_pager'][] = array(
'#type' => 'pager',
);
return $build;
}
}
所以,你的控制器動作是準備好了,現在你必須爲了創造此房源頁面路徑添加路由。
2.在您的模塊文件夾內創建routing.yml文件,如下面提到的文件名和下面的代碼。 模塊/ your_module/your_module.routing.yml
students.list:
path: 'admin/config/students/list'
defaults:
_controller: 'Drupal\your_module\Controller\StudentsController::list'
_title: 'Students List'
requirements:
_permission: 'access students list'
3.要創建權限,你可以創建你的模塊在跟隨着ING文件。 模塊/ your_module/your_module.permissions.yml
access students list:
title: 'Access students list page'
然後,瀏覽你的網頁 「管理/配置/學生/列表」