Block anzeigen
Eingetragen von gaertner_markus (45)
am 29.10.2008 - 15:23 Uhr in
am 29.10.2008 - 15:23 Uhr in
Hallo,
nach dem Beispiel von http://drupal.org/node/206759
hab ich eine/n Block(-Funktion) erstellt.
Im Admin-Menu -->Block kann ich den Block auch auf den entsprechenden Positionen(oben, recht etc.) ziehen/speichern und konfigurieren.
Nur angezeigt wird an der entsprechenden Stelle nichts. Ich habe auch mit den Rechten etwas gespielt um zu testen, aber immer das selbe -Nichts.
Hier ist der Code, etwas abgespeckt,
function XXX_block($op='list', $delta=0) {
if($op == "list") {
$block[0]["info"] = t('XXX');
return $block;
}
elseif($op == "all") {
$block['subject'] = 'XXX';
$block['content'] = "TEST";
return $block;
}
}
mfg
- Anmelden oder Registrieren um Kommentare zu schreiben
Inhalt vorhanden?
am 29.10.2008 - 18:19 Uhr
Dumme Frage: Gibt's denn überhaupt schon einen Inhalt für den Block? Blöcke ohne Inhalt werden nämlich ignoriert.
"The next step is the SQL statement that will retrieve the content we'd like to display from the database. ..."
http://drupal.org/node/206759
Frank
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
RE: Inhalt vorhanden?
am 30.10.2008 - 08:25 Uhr
hallo,
ich nahme an das ich mit
$block['content'] = "TEST";
einen Inhalt fuer den Block definiert habe.
Natuerlich habe ich auch eine SQL-Abfrage mit formatierter Ausgabe dazu, aber zum testen sollte oben genanntes doch reichen?
Dumme Frage: Gibt's denn überhaupt schon einen Inhalt für den Block? Blöcke ohne Inhalt werden nämlich ignoriert.
Besser "switch" statt "if"
am 30.10.2008 - 18:51 Uhr
Du hast Recht mit dem Inhalt, Irrtum meinerseits.
Bei deinen ifs fehlen die Gleichheitszeichen (== für Stringvergleich) bei den Bedingungen:
if ($op == "list") {
} else if ($op == 'view') {
Außerdem sollte es "view" statt "all" heißen.
Eleganter und einfacher erweiterbar ist es allerdings, mit switch zu arbeiten. Der folgende Code funktioniert bei mir:
<?php
// $Id$
/**
* @file
* Modul zum Testen der Blockfunktion
*/
/**
* Implementation of hook_block().
*/
function blocktest_block($op = 'list', $delta = 0, $edit = array()){
switch ($op) {
case 'list':
$blocks[0] ['info'] = t('Block-Test');
return $blocks;
case 'view':
$blocks['subject'] = t('Testblock');
$blocks['content'] = t('Blindtext');
return $blocks;
}
}
?>
Viel Erfolg!
Frank
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!