这里有一个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 file
<?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 :(得分: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;