content auf mehreren Blocks ausgeben [gelöst]
Eingetragen von bast (6)
am 11.06.2009 - 14:15 Uhr in
am 11.06.2009 - 14:15 Uhr in
Wie kann ich den output von einer menu hook auf mehre blocks ausgeben.
Ich habe 2 blocks definiert(mit $delta), wenn ich ein menu hook anspreche wird der content immer auf dem ersten block ausgegeben.
Wie kann ich das steuern und kann ich beiden blocks gleichzeitig content liefern.
mfg
Bastian
PS: Es handelt sich um ein selbstgebautes modul.
- Anmelden oder Registrieren um Kommentare zu schreiben
dann zeig uns doch mal
am 12.06.2009 - 09:56 Uhr
dann zeig uns doch mal einfach dein Modul! :) Dann können wir dir viel einfacher helfen.
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
Das ganze modul sind 1800
am 12.06.2009 - 10:29 Uhr
Das ganze modul sind 1800 Zeilen, glaube nicht das das einer lesen moechte :-)
<?php
/**
* Implementation of hook_block
*/
function mymodul_block($op='list', $delta=0) {
// listing of blocks, such as on the admin/block page
if ($op == "list") {
$block[0]["info"] = t("Block1");
$block[1]['info'] = t('Block2');
return $block;
} else if ($op == 'view') {
// our block content
$block_content = '';
$block_content_right = '';
// set up the block
switch ($delta) {
case 0:
$block['subject'] = 'Ueberschrift1';
$block['content'] = $block_content;
break;
case 1:
$block['subject'] = 'Ueberschrift2';
$block['content'] = $block_content_right;
break;
}
return $block;
}
} // end mymodul_block
/**
* Implementation of hook_menu
*/
function mymodul_menu() {
$items = array();
$items[] = array('path' => 'detail_eintrag',
'title' => t('Detailinformationen'),
'callback' => 'mymodul_detail_eintrag',
'access' => user_access('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
function mymodul_detail_eintrag() {
$content = "inhalt fuer delta 0";
$content_right = "inhalt fuer delta 1";
/*
Wie bekomme ich $content_right auf meine rechte sidebar?
*/
return $content;
}
?>
Hier ein
am 12.06.2009 - 10:35 Uhr
Hier ein Anreiz.
<?php
function mymodul_detail_eintrag() {
$content = 'Und das ist der Seiteninhalt, der ja nicht fehler sollte.';
$content_left = "inhalt fuer delta 0";
$content_right = "inhalt fuer delta 1";
drupal_set_content('left_sidebar',$content_left);
drupal_set_content('right_sidebar',$content_right);
return $content;
?>
http://api.drupal.org/api/function/drupal_set_content/6
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.
auch wenn ich den hook_menu
am 12.06.2009 - 10:41 Uhr
auch wenn ich den hook_menu Teil nicht verstehe.
Blöcke sind VÖLLIG unabhängig von dem eigentlichen Content.
... ich habs immer noch nicht verstanden was du möchtest, aber vlt. ehrahne ich gerade das richtige :p
<?php
/**
* Implementation of hook_block
*/
function mymodul_block($op='list', $delta=0) {
// listing of blocks, such as on the admin/block page
if ($op == "list") {
$block[0]["info"] = t("Block1");
$block[1]['info'] = t('Block2');
return $block;
} else if ($op == 'view') {
// our block content
$block_content = '';
$block_content_right = '';
// set up the block
switch ($delta) {
case 0:
$block['subject'] = 'Ueberschrift1';
$block['content'] = mymodule_block_content($delta);
break;
case 1:
$block['subject'] = 'Ueberschrift2';
$block['content'] = mymodule_block_content($delta);
break;
}
return $block;
}
} // end mymodul_block
/**
* Implementation of hook_menu
*/
function mymodul_menu() {
$items = array();
$items[] = array('path' => 'detail_eintrag',
'title' => t('Detailinformationen'),
'callback' => 'mymodul_detail_eintrag',
'access' => user_access('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
function
mymodul_detail_eintrag() {
$content = "inhalt fuer delta 0";
$content_right = "inhalt fuer delta 1";
/*
Wie bekomme ich $content_right auf meine rechte sidebar?
*/
return $content;
}
function mymodul_block_content($delta) {
switch ($delta) {
case 0:
$content = "inhalt fuer delta 0";
return $content;
case 1:
default:
$content = "inhalt fuer delta 1"
return $content;
}
}
?>
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
content auf mehreren Blocks ausgeben [gelöst]
am 13.06.2009 - 12:22 Uhr
Danke Spartacus und danke dereine.
drupal_set_content('right',$content_right);
hat schlussendlich funktioniert.