Drupal 7自定义区块未显示在区块列表中


Drupal 7 custom block not showing in block list

这里是Drupal 7的新手,有以下问题。

我已经启用了带有依赖项的块,但没有显示在块列表中

有人能在我的代码中发现我可能遗漏的任何内容吗?

任何能为我指明正确方向的帮助都将不胜感激!

提前感谢!

代码如下。

.info文件

name = Bloque para el buscador - INMO
description = Bloque para mostrar el buscador geográfico de InmoAnuncios.
package = Modulos de Inmo Anuncios  
core = 7.x
scripts[] = bloque_buscador.js // exist in folder
dependencies[] = inmo_node_form // enabled 

.module文件

<?php
/**
 * @file 
 * Modulo para el buscador de inmuebles
 * 
 * Este modulo provee de un bloque donde se despliega un buscador de inmuebles en el sitio
 */

/**
 * Implementa el hook_block_info() 
 * Este hook le dice a DRUPAL que este bloque se puede desplegar tanto en el home page como en el sidebar
 */
function bloque_buscador_block_info() {
    $blocks = array();
    $blocks['bloque_home'] = array(
        'info' => t('Inmo Buscador (home)'),
        'cache' => DRUPAL_NO_CACHE,
    );
    $blocks['bloque_sidebar'] = array(
        'info' => t('Inmo Buscador (sidebar)'),
        'cache' => DRUPAL_NO_CACHE,
    );
    return $blocks;
}
/**
 * 
 * @param type $delta
 * @return type
 * Implementa el hook_block_view()
 * 
 * 
 */
function bloque_buscador_block_view($delta = '') {
    $estados = db_query("SELECT * FROM estados WHERE enabled = 1;");
    $inmuebles = db_query("SELECT * FROM tipo_inmueble WHERE enabled = 1;");
    $optEstados = '';
    foreach ($estados as $estado) {
        $optEstados .= "<option value='"{$estado->id}'">{$estado->nombre}</option>'n";
    }
    $optInmuebles = '<option value='"0'">--Todos--</option>';
    foreach ($inmuebles as $inmueble) {
        $optInmuebles.= "<option value='"{$inmueble->tipo_inmueble}'">{$inmueble->tipo_inmueble}</option>'n";
    }
    $contenido = <<<EOSTR
      <div class="jsrequired {$delta}" id="bloque_buscador">
        <header class="title">
          <h2>Encuentra tu inmueble ideal!</h2>
        </header>
        <div class="filtros">
          <form action="/filtro" method="GET">
            <table  border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td><label for="operacion">Busco inmuebles en:</label></td>
                    <td>
                        <label class="vc">Venta <input type="radio" name="operacion" id="operacion" value="venta"/></label>
                        <label class="vc">Renta <input type="radio" name="operacion" id="operacion" value="renta" /></label> 
                    </td>
                </tr>
                <tr>
                    <td><label for="tipo_inmueble">Tipo de inmueble?</label></td>
                    <td><select name="inmueble" id="inmueble" style="width:150px;"> $optInmuebles </select></td>
                </tr>
                <tr>
                    <td><label for="estado">En donde?</label></td>
                    <td><select name="estado" id="estado" style="width:150px;"> $optEstados </select></td>
                </tr>
                <tr>
                    <td colspan="2"><input type="submit" value="Buscar"></td>
                </tr>
          </table>
            </form>
        </div>
        <div class="mapa"><a href="#" class="mapa_buscador"></a></div>
      </div>
EOSTR;
    $bloque = array(
    "subject" => NULL,
    "content" => $contenido
  );
  return $bloque;
}
?>

bloque_buscador_block_view应指定返回哪个块显示,如hook_block_view 文档中的示例所示

所以你应该有这样的东西:

  switch ($delta) {
    case 'bloque_home':
      $block['subject'] = NULL;
      $block['content'] = $contenido;
      break;
    case 'bloque_sidebar':
      // Insert appropriate code/logic here to display the sidebar block
      break;
  }
  return $block;