首先感谢您阅读我的问题。
我想对数据库进行查询,并在Drupal 8中的自定义块中显示数据。
我尝试了不同的方法都没有成功:
<?php
namespace Drupalmi_moduloPluginBlock;
use DrupalCoreBlockBlockBase;
/**
* Bloque que muestra una lista de productos
* @Block(
* id = "get_products",
* admin_label = @Translation("get productos")
* )
*/
class getProducts extends BlockBase {
/**
* {@inheritdoc}
*/
public function build() {
$db = Drupal::database();
$data = $db->select('products','t')->fields('t')->execute();
return array(
'#theme' => 'mi_modulo',
'#descripcion' => 'Lista de productos',
'#nodos' => $data
);
}
}
好了,如果我没理解错的话你想把视图放到block中。现在这里有几个选项:
- 你可以到视图中创建你的块,然后把它放在你喜欢的地方。
- 如果你真的想在自定义块中使用它,你可以使用
views_embed_view('view_name')
函数。我将在下面的代码中解释选项2。
这将嵌入视图到你的块,并显示它就像你在视图中配置它。
public function build(){
return views_embed_view('name_of_your_view');
}