Blöcke mit block_info erstellen
am 10.09.2012 - 10:49 Uhr in
Hallo Drupalfreunde;
ich erstelle mir momentan als Übung ein Wettermodul für drupal. Leider bin ich noch nicht sehr weit was das Programmieren in drupal angeht und habe nun eine kleine Frage.
Zu meinem Problem:
Ich habe diese hook_block_info funktion :
<?php
function mm_weather_block_info() {
$blocks['wettervorhersage'] = array(
'info' => t('wettervorhersage'),
);
}
?>difiniert bekomme aber leider kein Block unter VERWALTUNG -> STRUKTUR -> BLÖCKE angezeigt.
könnte mir jemand vllt erkläre was ich falsch gemacht habe ? Hab schon hier ---> hook_block_info
nachgeschaut und hab es auch so versucht wie unten angegeben aber ich komme nicht weiter.
Neuerdings bekomme ich auch diese Fehlermeldung:
Warning: Invalid argument supplied for foreach() in _block_rehash() (line 389 of C:\xampp\htdocs\xxxx\drupal\modules\block\block.module). => Würde mich über jede Antwort freuen :-)
- Anmelden oder Registrieren um Kommentare zu schreiben

Wie heißt Dein Modul? Laut
am 10.09.2012 - 11:38 Uhr
Wie heißt Dein Modul? Laut Deiner Funktion sollte es mm_weather heißen. Ist dieses Modul existent und aktiviert?
Du verwendest die t-Funktion falsch! Die Texte in der t-Funktion müssen englisch sein.
Beste Grüße
Werner
Dir fehlt ein "return
am 10.09.2012 - 11:43 Uhr
Dir fehlt ein "return $blocks;"
<?php
function mm_weather_block_info() {
$blocks['wettervorhersage'] = array(
'info' => t('Weather forcast'),
);
return $blocks;
}
?>
Genau
am 10.09.2012 - 13:41 Uhr
Ja mein modul heißt mm_weather. Danke klar wenn ich kein return mache, dass da nichts erscheint....vielen dank euch beiden
habe jetzt aber noch eine frage. Ich hab jetzt soweit alles geschrieben und ich will jetzt was aus der db auslesen und in dem Block anzeigen lassen leider taucht der Block auf meiner seite nicht auf.
hier ist der code schnippsel:
<?php
function mm_weather_block_info() {
$blocks['wettervorhersage'] = array(
'info' => t('Wettervorhersage'),
'status' => TRUE,
'weight' => 0,
'visibility' => 1,
);
return $blocks;
dpr($delta);
}
function approval_block_view($delta = '') {
switch ($delta) {
case 'wettervorhersage':
$block['subject'] = t('Wettervorhersage');
$block['content'] = mm_weather_block_contents($delta);
return $block;
break;
}
}
function mm_weather_block_contents($delta) {
switch ($delta) {
case 'wettervorhersage':
$addition = strtotime("+1 day");
$tomorrow = date('Y-m-d', $addition);
$result = db_select('wetterdaten', 'u')->fields('u', array("datum" ,"wochentag", "ort","tief", "hoch","icon_text","icon_id"))->condition('datum', $tomorrow, '=')->execute()->fetchALL();
$items = array();
foreach($result as $row) {
$items[] = l($row->datum, 'comment/' . $row->wochentag . '/edit');
}
return array('#markup' => theme('item_list', array('items' => $items)));
}
break;
}
?>