2012-09-03 58 views
0

Drupal 7新手在這裏,有以下問題。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; 
} 

?> 
+0

Drupal現在有專門的網站:http://drupal.stackexchange.com/。你最好在那裏問問。 – mingos

+0

清除所有緩存,但一切似乎都很好,它應顯示兩個區塊:Inmo Buscador(主頁)和Inmo Buscador(側欄) –

回答

0

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; 
相關問題