Drupal重定向到/core/install.php当我尝试打开包含SQLite查询的页面时



我在Web服务器上有一个Drupal站点。在网站的一页上,我想从sqlite数据库中打印出信息。但是如果我输入页面的网址,我会被重定向到/core/install.php

我使用以下代码将数据库集成到/sites/defualt/settings.php 中:

$databases['external']['default'] = [
'driver' => 'sqlite',
'database' => '/gesamtausgabe_2019.sqlite',
];

我创建了一个带有/modules/database_mindmap/src/Controller/database_mindmapController.php 的模块:

<?php
namespace Drupaldatabase_mindmapController;
class database_mindmapController{
public function database_mindmap(){
return include('visual.php');
}
}
?>

在包含的视觉对象中.php我使用以下代码调用和查询数据库:

<?php
//open the database
DrupalCoreDatabaseDatabase::setActiveConnection('external');
$database = DrupalCoreDatabaseDatabase::getConnection();
$staticID = '008dd40a-9687-4c84-bbfd-95cf0639e09a';
$sql = 'SELECT * FROM KnowledgeItem';
$query = $database->db_query($sql);
$result = array($query);
while($row = $result) {
if (strpos($row['StaticIDs'], $staticID) !== false){
$pagerange_all = explode(" ",$row['PageRange']);
$text = "<h4>".$row['CoreStatement']."</h4>".$row['Text']."<br><br><i>Seitenzahl: ".$pagerange_all[9]." ".$pagerange_all[11]."</i>";
echo $text;
}
}
// close the database connection
DrupalCoreDatabaseDatabase::setActiveConnection();
?>

所以出于某种奇怪的原因,每次我用/database/mindmap 调用模块时,我都会被重定向到/core/install.php

感谢您的任何帮助!

我通过在 .module 文件中引入正确的钩子来修复它:

function database_mindmap2_theme() {
return [
'database_mindmap2_KEY' => [
'variables' => [
'var1' => NULL, 'var2' => NULL],
],
];
}

并添加自定义内容类型。

我认为潜在的问题是,如果您看不到数据库,代码会假定您正在安装 Drupal。

最新更新