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 - 15: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 - 18: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 - 19: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 - 20: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 - 20: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

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • 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
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 4 Tagen 12 Stunden
  • Textboxen mit Tabelle
    vor 4 Tagen 19 Stunden
  • Du sollst ja auch keine
    vor 4 Tagen 19 Stunden
  • Theme
    vor 4 Tagen 20 Stunden
  • Welches Theme benutzt du
    vor 5 Tagen 1 Stunde
  • Mit Responsive Raster hatte
    vor 5 Tagen 15 Stunden
  • Hallo Alex,um das Häkchen
    vor 6 Tagen 32 Minuten
  • Modul view_unpublished
    vor 1 Woche 3 Stunden
  • Modul "override node options"
    vor 1 Woche 22 Stunden
  • Im Grunde ist dass ein
    vor 1 Woche 3 Tagen

Statistik

Beiträge im Forum: 250270
Registrierte User: 20477

Neue User:

  • Robertnobia
  • AltonRaf
  • JeffreyPaf

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 25 Gäste online.

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