我有一个类似的问题,我从前一个块中复制了工作代码,只更改了相关名称,当我启用这个新模块时...... BOOOOM !!! 在整个 Drupal 的任何页面上,一切都崩溃了。
从 localhost/phpmyadmin 下载错误日志后,我可以看到:
"[Semantical Error] Couldn't find constant references_block, class Drupal\references\Plugin\Block\referencesBlock."
其中:references_block 是我的块的元数据名称。事实证明,其中一个引号丢失了。
这是代码的那一部分:
错误代码:
<?php
/**
* @file
*/
namespace Drupal\references\Plugin\Block;
use Drupal\Core\Block\BlockBase;
/**
* Provides a 'references' Block.
* @Block(
* id = references_block", <--------ERROR HERE! missing this: "
* admin_label = @Translation("References Block"),
* )
*/
class referencesBlock extends BlockBase {
}
固定代码:
<?php
/**
* @file
*/
namespace Drupal\references\Plugin\Block;
use Drupal\Core\Block\BlockBase;
/**
* Provides a 'references' Block.
* @Block(
* id = "references_block", <-------- ERROR FIXED!
* admin_label = @Translation("References Block"),
* )
*/
class referencesBlock extends BlockBase {
// lots of code
}
如何从 localhost/phpmyadmin 下载错误日志:
(如果您赶时间,请阅读粗体字)
- 转到:本地主机/phpmyadmin
- 查找您的 Drupal 数据库
- 在数据库的底部,您应该找到一个名为:watchdog 的表
- 点击看门狗的桌子,这样你就可以看到里面有什么
- 在导航的顶部,您应该会看到一个名为:SQL的选项卡,单击该选项卡
现在您已经有了所需的查询的一部分,这样就更容易了,它应该如下所示:
SELECT * FROM `watchdog` WHERE 1
但你仍然需要改变它
我使用了这个查询:
SELECT variables FROM `watchdog` ORDER BY wid DESC LIMIT 5
这将生成 5 个链接,名称如下:
[BLOB - 8,8 kB]
- 从下载顶部开始,如果你不能下载它们(我不能)然后选择在记事本中打开它们而不是下载。
- 我建议您使用:Sublime Text 3打开文件,该程序几乎可以读取任何内容,您可以在此处获取:https ://www.sublimetext.com/3