Bilder in Block darstellen
Eingetragen von dontgotanick (156)
am 10.08.2010 - 16:50 Uhr in
am 10.08.2010 - 16:50 Uhr in
Hi,
ich bastel mir mal wieder ein Modul. Ich würde gerne in einem block eine Slideshow von einem Ordner darstellen.
Mein Problem ist aber das wenn ich das Bild per echo ausgebe kommt es immer am Kopf der Seite und nicht im Block, was mache ich falsch.
<?php
function cwg_slideshow_block($op = 'list', $delta = 0, $edit = array()) {
if ($op == "list") {
// Generate listing of blocks from this module, for the admin/block page
$block = array();
$block[0]["info"] = t('Slideshow');
return $block;
}
else if ($op == 'view') {
// Generate our block content
$dir = 'files/slideshow/';
if($opendir = opendir($dir))
{
while (($file = readdir()) !== FALSE){
if($file!='.'&&$file!='..'){
echo $dir.$file.'<br>';
echo '<img src=\'../../'.$dir.$file.'\'width=\'450\' height=\'255\'><br>';
}
}
}
}
}
?>
LG
dave
- Anmelden oder Registrieren um Kommentare zu schreiben
Das Problem ist, dass echo
am 10.08.2010 - 17:18 Uhr
Das Problem ist, dass echo einfach Inhalt ausgibt. Zu diesem Zeitpunkt gibt es aber noch gar kein HTML. Um in deinem Block etwas anzuzeigen musst du den Inhalt in $block['content'] speichern.
ok aber wie mache ich das?
am 11.08.2010 - 08:26 Uhr
Wie würde ich den das Bild jetzt darein speichern.
<?php
$block['content'] = '<img src=\'../../'.$dir.$file.'\'width=\'450\' height=\'255\'><br>';
?>
Das hat nicht funktioniert.....
LG
dave
Kann sein. Wird das Bild
am 11.08.2010 - 08:33 Uhr
Kann sein. Wird das Bild nicht angezeigt, ist das HTML vorhanden? In meinem Buch hier, wird die Funktion theme() verwendet. Kenne mich damit nicht aus. Vielleicht stimmt bloß nicht der Pfad?
Moin Dave, schau Dir doch mal
am 11.08.2010 - 08:39 Uhr
Moin Dave,
schau Dir doch mal das Beispiel von api.drupal.org an:
<?php
function hook_block($op = 'list', $delta = 0, $edit = array()) {
if ($op == 'list') {
$blocks[0] = array('info' => t('Mymodule block #1 shows ...'),
'weight' => 0, 'status' => 1, 'region' => 'left');
return $blocks;
}
else if ($op == 'view') {
switch($delta) {
case 0:
$block = array('subject' => t('Title of block #1'),
'content' => mymodule_display_block_1());
break;
}
return $block;
}
}
?>
Die Funktion "mymodule_display_block_1()" generiert den Inhal,t des Blocks und könnte z. B. so aussehen:
<?php
function mymodule_display_block_1() {
$output = '<img src=\'../../'.$dir.$file.'\'width=\'450\' height=\'255\'><br>';
return $output;
}
?>
Nichts mit echo oder print...
Beste Grüße,
Niko
Kommune3 - Drupal Entwickler aus dem Ruhrgebiets
danke
am 11.08.2010 - 16:53 Uhr
das funktioniert ganz gut nur das mit dem Pfad noch nicht.
Wie mache ich das das er immer vom Drupal Root Verzeichnis ausgeht.
LG
dave
Drupal Root Verzeichnis
am 11.08.2010 - 19:12 Uhr
am besten so ...
<?php
function mymodule_display_block_1() {
$output = '<img src="' . base_path() . 'sites/default/files/' . $file . '" width="450" height="255"><br>';
return $output;
}
?>
Jörg
www.drupalme.de