Blocks aus Modulen heraus erstellen
Eingetragen von christianpeters (12)
am 23.12.2007 - 19:31 Uhr in
am 23.12.2007 - 19:31 Uhr in
Hallo,
mein Ziel ist es, einen Block zu bauen, den man unter "Panels" einfügen kann. Der Inhalt soll zB. das letzte hinzugefügte Video des Moduls "Embedded Media Field" sein. Jetzt stellt sich die Herausforderung, wo man "irgendetwas" herkriegt, das einem so etwas zur Verfügung stellt (für das Modul "Video" wird so ein Block beispielsweise bereits einfach so zur Verfügung gestellt) oder wie man "anfängt", so etwas zu programmieren.
Leider weiß ich auch nicht, wie ich in die Blocks, die schon zur Verfügung gestellt sind, eine Einsicht erhalten kann... :-/
Vielleicht weiß ja jemand Rat? Wäre super!
- Anmelden oder Registrieren um Kommentare zu schreiben
christianpeters
am 23.12.2007 - 20:31 Uhr
Hallo,
....
Vielleicht weiß ja jemand Rat? Wäre super!
Versuch das mal mit dem NodeAsBlock Module. Damit kannst du dann deine Seite als Block bekommen und somit dann auch in Panels integrieren.
Rückmeldung ob das klappt wäre nett...
---
http://www.soccer-wikki.info
http://salzkotten.saelzernet.de
http://www.saelzernet.de
http://www.soccer-wikki.info
http://salzkotten.saelzernet.de
http://www.saelzernet.de
danke, das war auf jeden
am 23.12.2007 - 23:47 Uhr
danke, das war auf jeden Fall schon mal die richtige Richtung! An für sich funktioniert das also jetzt schon, aber super wäre es, wenn man einen block erstellen könnte, der automatisch den Node (des jeweiligen Inhaltstyps), der als letztes erstellt wurde, anzeigt.
wenn das sehr schwer ist,
am 24.12.2007 - 11:07 Uhr
wenn das sehr schwer ist, dann gibt es vielleicht auch noch eine einfachere Möglichkeit: Kann man die gesamte Startseite als block kriegen? Einfach, um halt auf der Startseite mehrere Spalten zu haben...
Lösung gefunden!
am 24.12.2007 - 12:26 Uhr
... und zwar kann man mit Views ein bisschen rumtricksen: Content-Type als Filter definieren, Sort Criteria auf descending setzen und bei "provide a block" als max. node-zahl die 1 einstellen - voilà ;-) *ich freu mich* so langsam steig ich ein bisschen durch (drupal)
Andere Lösung ...
am 29.12.2007 - 16:19 Uhr
Ich habe es ein wenig anders gelöst - ist einfach auch zuviel Inhalt der verwaltet werden muss.
Über Panels habe ich lediglich die unterschiedlichen Kategorien (die über Taxonomy-Block definiert wurden) eingebunden und somit nur die Überschrift in kleinen Blöcken dargestellt. Somit ist erstmal das abgedeckt, wo sich was Neues getan hat.
Die Hauptseite (/?=node) liegt dann mit einem kleinen Teaser drunter. Dort sind alle Inhalte, die auf der Startseite definiert worden sind, dargestellt.
RaRi
---
http://www.soccer-wikki.info
http://salzkotten.saelzernet.de
http://www.saelzernet.de
http://www.soccer-wikki.info
http://salzkotten.saelzernet.de
http://www.saelzernet.de
Ein Modul für Blocks
am 29.12.2007 - 16:26 Uhr
Hi Christian,
du kannst dir auch ein Modul schreiben was einen Block bereitstellt hier mal ein Beispiel:
<?php
// $Id: fotofinder.module,v 1.2 2007/09/10 06:54:01 DesignWork Exp $
/**
* Implementation of hook_block().
*/
function fotofindersearch_block($op = 'list', $delta = 0, $edit = array()) {
if ($op == 'list') {
$blocks['sitesearch'] = array(
'info' => t('Fotofinder Suche'),
);
return $blocks;
}
else if ($op == 'view') {
switch ($delta) {
case 'sitesearch':
$block = array(
'subject' => t('Fotofinder Suche'),
'content' => fotofindersearch_block_sitesearch(),
);
return $block;
break;
}
}
}
//
function fotofindersearch_sitesearch() {
$form = array();
$form['#action'] = 'http://plus49.fotofinder.net/de_finder/searchframe.pl';
$form['#method'] = 'post';
$form['ie'] = array(
'#name' => 'suche',
'#type' => 'hidden',
);
$form['q'] = array(
'#name' => 'phrase',
'#type' => 'textfield',
'#title' => t('Fotofinder Suche'),
'#value' => t('schnell Suche'),
'#size' => 20,
'#maxlength' => 255,
);
$form['submit'] = array(
'#type' => 'submit',
'#name' => "op",
'#value' => t('Bilder finden'),
);
return $form;
}
function fotofindersearch_block_sitesearch() {
return drupal_get_form('fotofindersearch_sitesearch');
}
function theme_fotofindersearch_sitesearch($form) {
$output = '';
$form['q']['#title'] = '';
$output .= drupal_render($form);
return $output;
}
?>
Du mußt nur noch dein SQL abfrage reinschreiben und ausgeben.
Dirk