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

Themning vom node title im View

Eingetragen von Miguelito (153)
am 22.09.2008 - 10:17 Uhr in
  • Views
  • Drupal 5.x

Hallo,

brauche mal zur Abwechslung ein bisschen Hilfe von euch.

Ich habe einen View der mir ein Grid-view von einem bestimmten

Inhaltstyp erstellt. Als Felder habe ich ein Vorschaubild und den Titel mit

Link zum Node.

Jetzt habe ich die Aufgabe einen Titel(Link zum Node) eines bestimten Beitrags von diesem

Inhaltstyp eine kursive Formatierung zu geben.

Kann ich das irgendwie mit dem Argumenten machen oder muss ich ein extra theme

für den ganzen View machen.

Für Anregungen bin ich euch sehr Dankbar.

Schöne Grüße

Miguelito

‹ CCK File-Field und Upload-Quota CCK, Views mit mehreren Suchfelder ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

mit CSS Formatierung

Eingetragen von quiptime (4972)
am 22.09.2008 - 10:46 Uhr
Zitat:

Inhaltstyp eine kursive Formatierung zu geben.

Sollte sich doch mit recht einfach CSS Formatierung loesen lassen.

Den Titel als Link zur Node kann man mit Sicherheit mittels CSS konkret ansprechen.

Einmal sollte es innerhalb der zu definierenden CSS Kaskade den Namen des View als konkrete CSS ID oder CSS KLasse geben.
Zum Anderen kann man eventuell, das haengt vom verwendeten Theme ab, im Body Tag eine Nodetypebezogene CSS Klasse verwenden/ansprechen um die CSS Kaskade bis hin zum Nodetitel-Link des View eindeutig zu identifizieren.

Bei dieser Aufgabenstellung ist also kein View-Template notwendig.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

So einfach ist es dann doch

Eingetragen von Miguelito (153)
am 22.09.2008 - 12:26 Uhr

So einfach ist es dann doch nicht.

Hätte vielleicht mal erwähnen sollen das nur ein Wort aus dem Titel kursiv dargestellt werden soll.

Hast du dazu eine Idee, den mit CSS komme ich da nicht weit.

Ich habe es zum Beispiel im Menü hinbekommen,

indem ich in der Template.php und der Methode 'phptemplate_menu_item'

jeden Menülink abfrage und dann den gefunden Teil mit str_replace in

eingeschweiften 'kursiv' tag ersetze, aber ich weis es nicht wie ich es im View

mache.

Deswegen meine Frage, ob ich es mit dem Argument Handling Code irgendwie hinbekomme.

Kann ich da den title des jeweiligen Nodes abfragen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ein Wort aus dem Titel? Ich

Eingetragen von aschiwi (1113)
am 22.09.2008 - 14:58 Uhr

Ein Wort aus dem Titel? Ich kann mir absolut nicht vorstellen, wie du das abfragen willst? Ist es eine feste Größe? Also z.B. immer das 2. Wort im Titel oder so? Sonst kann ich mir das einfach nicht vorstellen...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Erfassbarkeit von Navigationselementen.

Eingetragen von quiptime (4972)
am 22.09.2008 - 15:09 Uhr

Die Loesung Deines Kursiv-Problemes ist ganz einfach:

Lass es sein mitten in einem Link kursive Worte zu haben.

Etwas drastischer formuliert.

Hast Du schon mal was von Usability und Lesbarkeit von Schrift gehoert?
Vor allem guter und schneller Lesbarkeit von Schrift bei Darstellung auf einem Bildschirm. Gehe dabei auch davon aus das nicht alle Besucher einer Website die Schrift so sehen (koennen) wie Du es kannst.

Ein andere Betrachtung dieser Thematik koennte man auch umschreiben mit: Erfassbarkeit von Navigationselementen.

PS
Solche Spielereien habe vor vielen Jahren als ich mit HTML angefangen habe auch gemacht.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kunde ist König

Eingetragen von Miguelito (153)
am 22.09.2008 - 18:07 Uhr

Tja, da der Kunde das unbedingt haben will und sich auch nicht vom Gegenteil überzeugen will,

muss ich es umsetzen.

Es ist ein Node mit einem festen Titel, der auch nur einmal vorkommt, daher ist es auch leicht abzufangen.

Beim Titel des Nodes und beim Link im Menü habe ich es ohne Probleme gemacht.

Ich weis nur nicht wie ich es beim View hinkriege.

Ich muss nur wissen wie ich den jeweiligen Nodetitle im View abfange.

Dann würde ich das entweder als Themeing

im Template machen oder per Argument Handling Code.

Kann mir dann also bitte einer eine Hilfestellung geben?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Was ist das fuer ein View? Gibt er eine Liste aus?

Eingetragen von quiptime (4972)
am 22.09.2008 - 19:08 Uhr

Was ist das fuer ein View? Gibt er zur Anzeige eine Liste aus?

Wenn nicht, dann kannst Du ihn als Liste entsprechend ausgeben? Ist das fuer Dich moeglich?

Dann erstelle Dir mittels des Viewsmodules "Views Theme Wizard" ein Template fuer diesen View. In diesem Template solltest Du an den Titel rankommen.

PS
"Views Theme Wizard" funktioniert nur mit Listen-Views.

Man kann in einem View Teaseransichten auch als Listenansichten ausgeben. Man muss nur die entsprechenden Felder (bei einer Liste) verwenden - dann hat man mit einer Listenansicht auch Teaseransichten. Den List-Bullit kann man ja mit CSS killen.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Alles ist möglich function

Eingetragen von dawehner (2639)
am 22.09.2008 - 19:16 Uhr

Alles ist möglich

<?php
function THEMENAME_views_handle_field_node_title($fieldinfo, $fielddata, $value) {
 
$info = $fields[$field['fullname']];

  if (
$field['handler'] && function_exists($field['handler'])) {
    return
$field['handler']($info, $field, $data->$field['queryname'], $data);
  }

  if (
$info['handler'] && is_string($info['handler']) && function_exists($info['handler'])) {
    return
$info['handler']($info, $field, $data->$field['queryname'], $data);
  }

 
$data->$field['queryname'] = str_replace('blub', '<b>Blub</b>', $data->$field['queryname']);

  return
check_plain($data->$field['queryname']);
}
?>

Fertig
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Oh man.

Eingetragen von Miguelito (153)
am 22.09.2008 - 21:53 Uhr

danke euch für eure Mühe, aber ihr scheint nicht wirklich begreifen was ich machen muss.

Ich habe geschrieben, dass ich ein Grid-View benutze, wegen der Tabellenansicht, die ich

gebraucht habe. Dazu habe ich geschrieben, dass zu jedem Node in der Ansicht jeweils ein

Bild und der Titel als Nodelink angezeigt wird. Diesen Titel möchte ich nur irgendwie abgreifen und

überprüfen, ob das der bestimmte Node mit dem bestimmten Link ist und dann die Formatierung einsetzen.

Ich habe das mit der Breadcrumbanzeige auch hinbekommen. Da habe ich in der template.php eine Themefunktion,

in der ich das genau tue. Ich weis nur nicht wie ich es mit dem Nodetitle aus dem View mache.

Den View habe ich schon fertig mit CSS Formatiert, so wie ich es haben will, ich muss nur noch

den Teil aus den einen Titel kursiv stellen, weil der Kunde das unbedingt will.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Screenshot

Eingetragen von eigentor (1424)
am 22.09.2008 - 21:59 Uhr

Tja, in diesem Fall sagt ein Bild mehr als tausend Worte: Wie soll es denn am Ende aussehen - oder wie sieht es jetzt aus? Dann können wir uns das leichter vorstellen. (off topic: Kult: Anja hat das Drupalchix Logo als Avatar. Schade, dass man das so klein kaum noch erkennen kann...)

Drupal - too unorganised to be a system

  • Anmelden oder Registrieren um Kommentare zu schreiben

<?phpfunction

Eingetragen von dawehner (2639)
am 22.09.2008 - 22:14 Uhr

MH Das ganze bricht hier falsch um
http://pastebin.com/m6735a5ab

Probiere mal folgenden Code
themename wie immer ersetzten
In dem Code kannste vor return $output, die $output verändern und nach deinen Vorstellungen anpassen
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING

  • Anmelden oder Registrieren um Kommentare zu schreiben

eigentor schrieb (off

Eingetragen von aschiwi (1113)
am 23.09.2008 - 07:37 Uhr
eigentor schrieb

(off topic: Kult: Anja hat das Drupalchix Logo als Avatar. Schade, dass man das so klein kaum noch erkennen kann...)

Gut aufgepasst :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die Snippets, die

Eingetragen von Miguelito (153)
am 23.09.2008 - 07:47 Uhr

Danke für die Snippets, die aber leider beide nicht die gewünschte Wirkung gezeigt haben.

Ich habe es aber trotzdem hinbekommen und zwar hatte ich bereits eine Themefunktion

für einen Grid View dort habe ich die Felder abgefangen und dann das entsprechende ersetzt.

Anbei der Code, falls mal jemand auf die gleiche Blöde Idee kommt.

Der Fettgedruckte Part ist der neu eingefügte für das Kursive.

function THEMENAME_views_bonus_view_grid($view, $nodes, $type) {
  drupal_add_css(drupal_get_path('module', 'views_bonus_grid') .'/views_bonus.css');
  $fields = _views_get_fields();

  $content = '<table class="view-grid view-grid-' . $view->name . '">';

  // set default count.
  $cols = $view->gridcount ? $view->gridcount : 6;

  $count = 0;
  $total = count($nodes);
  foreach ($nodes as $node) {
    $item = '';
    if ($count % $cols == 0) {
      $content .= '<tr>';
    }

    foreach ($view->field as $field) {
      if ($fields[$field['id']]['visible'] !== FALSE) {
        if ($field['label']) {
          $item .= "<td class='view-label view-label-$field[queryname]'>" . $field['label'] . "</td>";
        }
        $item .= "<td class='view-field view-data-$field[queryname]'>" . views_theme_field('views_handle_field', 
                  $field['queryname'], $fields, $field, $node, $view) . "</td>";
      }
      <strong>if($pos = strpos($item, 'SPORT'))
        $item = str_replace('SPORT<', '<i>SPORT</i><',$item);</strong>
    }
    if($view->name == 'Galleriezusatz' && $count >= 1) {
      $pos = strpos($item, 'src');
      $i1 = substr($item, 0, $pos);
      $i2 = substr($item, $pos);
      $item = $i1 . 'width="0" height="0" ' . $i2;
    }
    $content .= "<td class='view-grid-item'><div class='view-item view-item-$view->name'>$item</div></td>\n";

    $count++;
    if ($count % $cols == 0 || $count == $total) {
      if($count == $total && $count % $cols != 0){
        for($i = 0; $i < ($cols - ($count % $cols)); $i++)
          $content .= '<td colspan="2">&nbsp;</td>';
      }
      $content .= '</tr>';
    }
  }
  $content .= '</table>';

  if ($content) {
    return $content;
  }
}

Danke nochmal für eure Mühe.

Gruß

Miguelito

  • 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 2 Wochen 3 Tagen
  • Hey danke
    vor 2 Wochen 4 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 5 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 4 Wochen 2 Stunden
  • In der entsprechenden View
    vor 4 Wochen 2 Stunden
  • Dazu müsstest Du vermutlich
    vor 4 Wochen 2 Stunden
  • gelöst
    vor 6 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 26 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