从Drupal 8中的自定义块查询数据库



首先感谢您阅读我的问题。

我想对数据库进行查询,并在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中。现在这里有几个选项:

  1. 你可以到视图中创建你的块,然后把它放在你喜欢的地方。
  2. 如果你真的想在自定义块中使用它,你可以使用views_embed_view('view_name')函数。我将在下面的代码中解释选项2。

这将嵌入视图到你的块,并显示它就像你在视图中配置它。

public function build(){
   return views_embed_view('name_of_your_view');
}

相关内容

  • 没有找到相关文章

最新更新