簡體   English   中英

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文檔中的示例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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM