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

时间:2016-09-06 20:33:56

标签: drupal drupal-modules drupal-8 drupal-blocks

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

我想查询数据库并在Drupal 8中的自定义块中显示数据。

我尝试过不同的方法但没有成功:

<?php

namespace Drupal\mi_modulo\Plugin\Block;

use Drupal\Core\Block\BlockBase;

/**
 * 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
        );
    }
}

1 个答案:

答案 0 :(得分:0)

好吧,如果我理解正确,你想让你的视角进入你的视野。现在有几个选项:

  1. 您可以前往视图并在那里创建块,然后将其放在您喜欢的位置。
  2. 如果您真的想在自定义块中使用它,可以使用views_embed_view('view_name')功能。我将在下面的代码中解释选项2。
  3. 这会将视图嵌入到您的块中,并像在视图中配置它一样显示它。

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