Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

VIEWS - "Ist online" / "Ist offline" Grafik zuweisen ?

Eingetragen von Thoor (3678)
am 20.10.2009 - 12:50 Uhr in
  • Views
  • Drupal 6.x

Beim VIEWS "Feld Benutzer: Is online" unterscheidet sich die Ausgabe im VIEW leider nur im Text.

z.B.:

<div class="views-field-is-online">
<span class="field-content">Online</span>
</div>

<div class="views-field-is-online">
<span class="field-content">Offline</span>
</div>

Ich würde aber ganz gerne eine weitere CSS Klasse unterbringen, abhängig vom online/offline status um beispielsweise eine "Ist online" / "Ist offline" Grafik zuzuweisen. Die Durchsicht der Template Dateien brachte nichts ... jemand nen Tipp für mich?

‹ View in View integrieren [gelöst] Gallery Views Benutzer zuweisen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Also meine erste Idee waere

Eingetragen von MartinI (28)
am 20.10.2009 - 13:25 Uhr

Also meine erste Idee waere jetzt ein eigenes Template fuer die View zu erstellen in dem du dann an entsprechender Stelle ein Bild anzeigst.
Die Source des Bildes baust du dir dann mit hilfe von deinem Feld zusammen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

MartinI schrieb Also meine

Eingetragen von Thoor (3678)
am 20.10.2009 - 14:58 Uhr
MartinI schrieb

Also meine erste Idee waere jetzt ein eigenes Template fuer die View zu erstellen in dem du dann an entsprechender Stelle ein Bild anzeigst.
Die Source des Bildes baust du dir dann mit hilfe von deinem Feld zusammen.

Tja ... nur wie du siehst wäre es ja das gleiche Bild für ONLINE und OFFLINE, da sich ausschliesslich der Text ändert! Das ist ja mein Problem!
---------------------------------------------------------------------------

NEU! Drupalseiten vorstellen, bewerten und kommentieren - Jetzt eintragen!

  • Anmelden oder Registrieren um Kommentare zu schreiben

kannst Du das nicht lösen

Eingetragen von sklausing (288)
am 21.10.2009 - 08:03 Uhr

kannst Du das nicht lösen in dem Du nur nach online filterst? Dann kannst Du per default ein offline Bildchen angeben und sollte ein Wert für online zurückgegeben werden, dann lässt Du das online Bildchen anzeigen.
Views werden ja nicht angezeigt wenn sie keine Werte haben.

... nur so als Ansatz

  • Anmelden oder Registrieren um Kommentare zu schreiben

genau, der Text aendert

Eingetragen von MartinI (28)
am 21.10.2009 - 08:20 Uhr

genau, der Text aendert sich. Lass dir in einem View-Template doch mal alle PHP-Variablen ausgeben und guck was du da zurueck bekommst. Im besten Fall bekommst du fuer den on-/offlinestatus genau den Text "Online" oder "Offline" raus und da du im Template ja wunderbar mit PHP arbeiten kannst sollte es dann doch kein Problem sein

Bsp.: (dummycode)

// Werte aus den View-Variablen
$view['online'] = 'offline';


// Bild online oder offline anzeigen
printf('<img src="%s.jpg"/>', $view['online']);

Keine Ahnung ob in den Variablen tatsaechlich die Werte so drin stehen aber ein Versuch ists wert

  • Anmelden oder Registrieren um Kommentare zu schreiben

preprocess

Eingetragen von stBorchert (6003)
am 21.10.2009 - 08:38 Uhr

Moin.
Über eine preprocess-Funktion für den View kannst Du die Ausgabe dieses Feldes beliebig anpassen und somit auch anstelle des Textes eine Grafik anzeigen.

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tja ... sag ich mal Danke an

Eingetragen von Thoor (3678)
am 21.10.2009 - 09:20 Uhr

Tja ... sag ich mal Danke an alle, die sich versucht haben. Ich habe leider zwei Probleme mit den Tipps :-) Da wären zum einen wieder mal meine bescheidenen PHP Fähigkeiten und zum anderen finde ich die preprocess_function auch nicht, die den online Status "regelt" ... da hatte ich mir gestern schon den "Wolf" gesucht ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

preprocess

Eingetragen von stBorchert (6003)
am 21.10.2009 - 09:39 Uhr

Mal angenommen, Dein View heisst "userlist" und Du zeigst ein page-Display an:

<?php
/**
* Modify available variables for view userlist.
*/
function template_preprocess_views_view_fields__userlist__page_1(&$vars) {
 
$status = $vars['fields']['field_is_online']->content;
 
$img_path = drupal_get_path('theme', 'myThemename') . '/images/' .
    (
$status == t('Online') ? 'online' : 'offline') . '.png';
 
$vars['is_online'] = theme('image',
   
$img_path,
   
$status,
   
t('User is %status', array('%status' => $status))
  );
}
?>

Jetzt hast Du im Template views-view-fields--userlist--page-1.tpl.php die Variable $is_online zur Verfügung, in der ein fertig gerendertes Bild enthalten ist.

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mich würde interessieren ob

Eingetragen von fugazi (201)
am 14.01.2010 - 23:52 Uhr

Mich würde interessieren ob du schon zur einer Lösung gekommen bist. Ich stehe jetzt vor demselben Problem und möchte in meiner userliste noch ein Icon zufügen der rot oder grün anzeigt je nachdem ob eine User online ist oder nicht. viele grüße

ach vergessen meine userliste gebe ich mit views aus, und habe sie mit views-view-fields--Benutzerliste--page-1.tpl.php verändert.

  • Anmelden oder Registrieren um Kommentare zu schreiben

$rows durchforsten

Eingetragen von Nicolai Schwarz (1071)
am 15.01.2010 - 04:01 Uhr

Hab's nicht ausprobiert: Aber könnt ihr nicht einfach z.B. $rows im views-view.tpl.php per str_replace durchforsten? Ihr ersetzt dann einfach etwa Online durch <img ...>.
Das funktioniert so natürlich nur, wenn "Online" oder das betreffende Wort sonst nicht im Text vorkommt. In dem Fall erweitert man eben durch <span class="field-content">Online</span>.

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich meine man könnte das

Eingetragen von stebeg (463)
am 15.01.2010 - 06:25 Uhr

Ich meine man könnte das viel einfacher Lösen:

Wenn ich das richtig verstande habe, dann geht es ja um die Ausgabe eines Feldes, das nur 2 Werte haben kann. Man könnte bei diesem Feld einfach die "Rewrite Output"-Funktion dieses Feldes benutzen.

angenommen es handelt sich um das Feld "MyField". Replacement Pattern dafür wäre dann [myfiled]. Bei Rewrite Output könnte man dann folgende eintragen:

<span class="myfield-[myfield]">[myfield]</span>

Die Ausgabe wäre dann dementsprechend:

<span class="myfield-Offline">Offline</span> oder
<span class="myfield-Online">Online</span>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das hört sich gut an, nur

Eingetragen von fugazi (201)
am 15.01.2010 - 08:23 Uhr

Das hört sich gut an, nur bin ich kein Profi und versuche es mal. (class="myfield-[myfield]">[myfield]) in Views (Rewrite the output of this field) einfügen. Und die Ausgabe über (class="myfield-Offline">Offline) oder
(class="myfield-Online">Online)
*.tpl.php. Habe ich das so richtig verstanden. viele grüße

  • Anmelden oder Registrieren um Kommentare zu schreiben

fugazi schrieb über

Eingetragen von Thoor (3678)
am 15.01.2010 - 08:30 Uhr
fugazi schrieb

über (class="myfield-Offline">Offline) oder
(class="myfield-Online">Online)
*.tpl.php. Habe ich das so richtig verstanden.

Nein - du müsstest eigentlich nur im VIEW die Feldausgabe ersetzen! "Rewrite the output of this field" .... dann sollte das klappen und Du kannst dann den beiden neuen Klassen Hintergrundgrafiken per CSS zuordnen ...

--------------------
Design Probleme einfach mit FF und FIREBUG lösen!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ähm .... nee glaub nich

Eingetragen von stebeg (463)
am 15.01.2010 - 08:30 Uhr

Ähm .... nee glaub nich :-)

mit "Rewrite the output of this field" kannst du die Ausgabe des Feldes verändern. Wenn du dort also

<span class="myfield-[myfield]">[myfield]</span> eingibst, dann wird bei der Ausgabe um den Inhalt des Feldes ein span-Tag eingefügt, der dann die Klasse "myfield-Offline" oder "myfield-Online" hat und somit können beide Variante über CSS eindeutig angesprochen werden.

Beachte: [myfield] muss natürlich mit dem richtigen Replacement-Pattern erstezt werden. Für z.Bsp. den Titel müsste man also [title] benutzen. Wenn du die Option Rewrite the output of this field aktivierst, dann siehst du dort etwas weiter unten die Replacement Patterns.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es gibt noch die

Eingetragen von Genesis (597)
am 15.01.2010 - 10:36 Uhr

Es gibt noch die Möglichkeit über das Modul User-Stats zu gehen. Dieses zeigt ebenfalls den Online/Offline-Status an und ist Views-Kompatibel. Eventuell hilft es ja bei der Problematik.

  • Anmelden oder Registrieren um Kommentare zu schreiben

alles klar ich kann nicht

Eingetragen von fugazi (201)
am 15.01.2010 - 10:39 Uhr

alles klar ich kann nicht mehr folgen, ich bin noch Anfänger und verstehe php nicht so gut. Ich mache ein Screen:

was soll oder muss im Textfeld stehen. Und was danach? ich muss doch meiner css oder *.tp.php sagen wo das Bild erscheinen soll. Hier haben wir das Problem, ich verstehe das noch nicht so... jammer :-(

Ich hoffe das mir da einer Helfen kann... Viele Grüße

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: ich muss doch meiner

Eingetragen von stebeg (463)
am 15.01.2010 - 10:55 Uhr
Zitat:

ich muss doch meiner css oder *.tp.php sagen wo das Bild erscheinen soll.

Mit PHP das nix zu tun. Aber bevor ich hier jetzt anfange über CSS zu philosphieren könne man sichs auch einfacher machen:

Ich nehme an du möchtest nur die 2 Bilder anzeigen und hast diese bereits erstellt, also eines für Online und eines für Offline. Am besten legst du diese beiden Bilder im Verzeichnis /sites/default/files ab, am besten unter den Namen Offline.png und Online.png

Dann musst du in das von dir mit "was soll hier rein?"-markierte Feld nurnoch folgendes eintragen:

<img src="/sites/default/files/[is_online].png" alt="[is_online]"/>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Super hat geklappt jetzt

Eingetragen von fugazi (201)
am 15.01.2010 - 15:52 Uhr

Super hat geklappt jetzt frage ich mich nur wie bekommt man es hin das beim offline Status z.b. roter Punkt und bei Online grünen Punkt gezeigt wird. Geht das überhaupt? Danke erst mal für die Hilfe an alle !!!!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • 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
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 3 Tagen
  • Hey danke
    vor 1 Woche 3 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 6 Tagen
  • In der entsprechenden View
    vor 2 Wochen 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 6 Tagen
  • gelöst
    vor 5 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 23 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