Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Blöcke themen - wie?

Eingetragen von Raphael Zens (3)
am 18.09.2008 - 16:43 Uhr in
  • Themes & Theming
  • Drupal 6.x

Hallo, ich bin relativ neu in Drupal und weiß so recht nicht weiter.

Was ich möchte, ist bestehende Blöcke themen. Den "Who's online"-Block zum Beispiel. Ja, wie man mit CSS themt weiß ich, und auch ein block-Template könnte ich anlegen. Was ich aber will, ist den Inhalt von $block-content für bestimmte Blöcke verändern.

Beispielsweise den Text "There are currently xy user onlin..." verändern oder die HTML-Struktur etwas anpassen.

Gibt es da eine Möglichkeit.

MFG Raphael

‹ Merkwürdige CSS Einbindung... Mehrere Themes ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, das geht nicht mit dem

Eingetragen von Kars-T (1473)
am 18.09.2008 - 19:36 Uhr

Hi,

das geht nicht mit dem Standard Block. Du müsstest dir einen eigenen Block schreiben und die Abfragen vornehmen.

user.module
Ab Zeile 595

<?php

       
if (user_access('access content')) {
         
// Count users active within the defined period.
         
$interval = time() - variable_get('user_block_seconds_online', 900);

         
// Perform database queries to gather online user lists.  We use s.timestamp
          // rather than u.access because it is much faster.
         
$anonymous_count = sess_count($interval);
         
$authenticated_users = db_query('SELECT DISTINCT u.uid, u.name, s.timestamp FROM {users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.timestamp >= %d AND s.uid > 0 ORDER BY s.timestamp DESC', $interval);
         
$authenticated_count = db_num_rows($authenticated_users);

         
// Format the output with proper grammar.
         
if ($anonymous_count == 1 && $authenticated_count == 1) {
           
$output = t('There is currently %members and %visitors online.', array('%members' => format_plural($authenticated_count, '1 user', '@count users'), '%visitors' => format_plural($anonymous_count, '1 guest', '@count guests')));
          }
          else {
           
$output = t('There are currently %members and %visitors online.', array('%members' => format_plural($authenticated_count, '1 user', '@count users'), '%visitors' => format_plural($anonymous_count, '1 guest', '@count guests')));
          }

         
// Display a list of currently online users.
         
$max_users = variable_get('user_block_max_list_count', 10);
          if (
$authenticated_count && $max_users) {
           
$items = array();

            while (
$max_users-- && $account = db_fetch_object($authenticated_users)) {
             
$items[] = $account;
            }

           
$output .= theme('user_list', $items, t('Online users'));
          }

         
$block['subject'] = t('Who\'s online');
         
$block['content'] = $output;
        }


?>

Du siehst, das die Texte gest sund und die Daten per SQL zusammen gezogen. Über die Drupal API kommst du da nicht ran.

Wobei du in 6 in die Erstellung des Blocks eingreifen könntest oder komplett abfangen. Aber ein neuer Block sollte einfacher und direkter sein.

Im Prinzip kannst du diesen Source in einen neuen Block verfrachten und nach Lust und Laune ändern.

---

Viele Grüße,

Kars-T

Arbeit: comm-press

Hobbies: Tower Defense HQ, plamo.de, Blog

  • Anmelden oder Registrieren um Kommentare zu schreiben

Fehlermeldung

Eingetragen von Raphael Zens (3)
am 18.09.2008 - 20:25 Uhr

Danke erst mal für die rasche Antwort.

Also quasi aus hook_block() den Teil für den gewünschten User-Block rauskopieren und in meinen Template-Block einfügen - und nach eigenen Vorstellungen verändern.

Werde das gleich mal ausprobieren. Ich war soweit, die den Content in eine Variable zu kopieren und dort ein wenig zu replacen. Aber sehr elegant schien mir das nicht.

----------------------------------

Hab's probiert und bekam folgende Fehlermeldung

Fatal error: Cannot use object of type stdClass as array in /var/www/drop/sites/all/themes/droptheme/block-user-3.tpl.php on line 69

MFG Raphael

  • Anmelden oder Registrieren um Kommentare zu schreiben

Öh naja, über ein Modul

Eingetragen von Kars-T (1473)
am 18.09.2008 - 21:03 Uhr

Öh naja, über ein Modul und hook_block musst du noch ein wenig mehr machen, da es ja auch einhaken musst, wenn der Block angezeigt wird.

Ich hatte jetzt einfach daran gedacht, das du eine neuen Block mit Eingabeformat PHP anlegst und damit arbeitest.

[edit]

Über die .tpl geht das so nicht. Muss dann ein Modul sein.
Ließ sonst in der API nach
http://api.drupal.org/api/function/hook_block/6

---

Viele Grüße,

Kars-T

Arbeit: comm-press

Hobbies: Tower Defense HQ, plamo.de, Blog

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hm, dann scheint mir der

Eingetragen von Raphael Zens (3)
am 18.09.2008 - 21:51 Uhr

Hm, dann scheint mir der einfachste Weg der zu sein, dass ich einen eigenen Block über die Drupal-Administration erstelle und dort php-Code einfüge. Dann frage ich dort die Datenbanken ab und stelle alles so dar, wie ich mir das vorstelle.

Danke für die Hilfe.

MFG Raphael

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 1 Woche 6 Tagen
  • Wenn die Subdomain auf
    vor 2 Wochen 1 Tag
  • ordnerstruktur
    vor 2 Wochen 1 Tag
  • Die Subdomain muß auf den
    vor 2 Wochen 3 Tagen
  • Verwende doch das Tag dafür,
    vor 5 Wochen 5 Tagen
  • Guckst du hier: step by step
    vor 5 Wochen 5 Tagen
  • Guckst du hier: step by step
    vor 5 Wochen 5 Tagen
  • Ich habe ja keine Angst vor
    vor 7 Wochen 18 Stunden
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 7 Wochen 3 Tagen
  • Vielen Dank erst einmal, aber
    vor 7 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250289
Registrierte User: 20519

Neue User:

  • Wolf Dab
  • Scottteday
  • MichaelPeeno

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 13 Gäste online.

Benutzer online

  • tom082

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association