2012-09-03 4 views
0

Drupal 7 초보자에게 다음 문제가 있습니다.Drupal 7 사용자 정의 블록이 차단 목록에 표시되지 않습니다.

나는 그것을 종속성의 내 블록을 활성화하지만,

내가 내 코드에서 누군가 자리 아무것도보고 싶었어 수 있습니다 차단 목록에 표시되지 않습니다?

올바른 방향으로 나를 돕는 데 도움이 될 것입니다!

미리 감사드립니다.

코드는 다음과 같습니다. 파일

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 파일 .INFO

<?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 (home) 및 Inmo Buscador (sidebar) –

답변

0

당신 bloque_buscador_block_viewhook_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; 
관련 문제