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

in einen knoten eingebettete views als tab anzeigen

Eingetragen von mmz (15)
am 20.09.2008 - 17:22 Uhr in
  • Views
  • Drupal 5.x

Hallo, ich habe schon wieder eine Frage (und finde die Antwort im Froum nicht):
Ich habe in einen Knoten drei Views eingebettet (Kontext-sensitiv, es wird ein Argument übergeben). Das klappt auch gut, allerdings möchte ich, dass die Views als Tabs dargestellt werden (und nicht einfach untereinader weg).....
Tch habe es schon über die in den Views selbst vorhandere Möglichkeit probiert (menu->provide menu as tab) aber es geht nicht. Vermutlich liegt es daran, dass es kein "Chefview" gibt, ich habe zwar versucht, das erste der drei dazu zu machen aber irgendwie denke ich, dass das nicht geht. Kann ich den Knoten (in den die drein egebettet sind) zum "Chef" machen? Gibt es eine andere Möglichkeit?
vielen Dank für jede Hilfe!
mmz

‹ Views: Imagecache soll nur Thumbnails von Nodes anzeigen, bei denen EIN Bild hinterlegt ist! Wie umsetzen? Bilderblock mit Image_Gallery und Views ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

theme

Eingetragen von stBorchert (6003)
am 20.09.2008 - 17:29 Uhr

Moin!
In http://groups.drupal.org/node/8386#comment-47935 wird eine ziemlich einfache Möglichkeit gezeigt. Du könntest dann die URLs der Views vielleicht ein wenig abändern ("node/$arg/view1", "node/$arg/view2", etc.) dann sieht das noch harmonischer aus.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

theme #2

Eingetragen von stBorchert (6003)
am 20.09.2008 - 17:30 Uhr

Und gerade noch gefunden: http://www.drupalcenter.de/node/3252

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

vielen dank!

Eingetragen von mmz (15)
am 20.09.2008 - 19:06 Uhr

Keine Ahnung, was ich bei der Suche falsch gemacht habe -> danke, danke, danke! Ich werd es mal mit dem Code aus dem 2. Link probieren, von dem hab ich den Eindruck, dass ich ihn verstehe.
Eine Frage hab ich noch *hüstel* wo muss ich den Code denn eingeben? das kapier ich irgendwie noch nicht (ich habe auch keine Ahnung, wo der Views-code "meiner" Views steht, ich "finde" den nirgends?)
Nochmals danke!
mmz

  • Anmelden oder Registrieren um Kommentare zu schreiben

views tab

Eingetragen von stBorchert (6003)
am 20.09.2008 - 21:22 Uhr
mmz schrieb

Eine Frage hab ich noch *hüstel* wo muss ich den Code denn eingeben? das kapier ich irgendwie noch nicht (ich habe auch keine Ahnung, wo der Views-code "meiner" Views steht, ich "finde" den nirgends?)

Du kannst Dir ein spezielles Template für den Node-Typen erstellen (node-typ.tpl.php) und das dann dort mit eingeben.
Und den Views-Code bekommst Du mit

<?php

$view_eins_build
= views_build_view('embed', views_get_view('1. view'), array(), false, false);
?>

"1. view" ist dann halt der interne Name des Views.

hth,

 Stefan

PS: Es gibt auch das Modul Views Tabs, das ist jedoch beta.

  • Anmelden oder Registrieren um Kommentare zu schreiben

hmmmm

Eingetragen von mmz (15)
am 21.09.2008 - 09:26 Uhr

vielen Dank,
ich habe eine node-seite.tpl.php angelegt und unterhalb von Content den Code eingegeben:

<?php

     
// $args[0] = arg(1); beim Argument Handling code im entsprechenden View eingeben
   
$view1 = views_get_view('eins_view');
   
$view2 = views_get_view('zwei_view');
   
$view3 = views_get_view('drei_view');                     
   
$view1_build =views_build_view('embed', $view1, array(), false, false);
     
$view2_build =views_build_view('embed', $view2, array(), false, false);
   
$view3_build =views_build_view('embed', $view3, array(), false, false);
#    print $view1_build;
#    print $view2_build;
#    print $view3_build;

   
$form = array();
   
   
$form['lernziel'] = array(
   
'#type' => 'tabset',
  );
 
$form['lernziel']['tab1'] = array(
   
'#type' => 'tabpage',
   
'#title' => t('Inhalt1'),
   
'#content' => $view1_build,
  );
 
$form['lernziel']['tab2'] = array(
   
'#type' => 'tabpage',
   
'#title' => t('Inhalt2'),
   
'#content' => $view2_build,
  );
   
$form['lernziel']['tab3'] = array(
   
'#type' => 'tabpage',
   
'#title' => t('Inhalt3'),
   
'#content' => $view3_build,
  );
  print
tabs_render($form);
?>

Der obere Teil (mit der nun auskommentierten Kontrollausgabe) funktioniert gut, aber die Tabsausgabe nicht (es wird dann einfach gar nichts angezeigt, keine Tabs, kein Inhalt. Auch mit views Tabs wird nichts ausgegeben. Ich habe das Javascript-tool-modul runtergeladen und tabs aktiviert...
tut mir leid, wenn ich immer noch Fragen habe :-( ...stehe nur unter ziemlichem Zeitdruck
Danke!
mmz

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tabs

Eingetragen von stBorchert (6003)
am 21.09.2008 - 09:59 Uhr

Moin!
Ich habe gerade mal nachgeschaut, woher tabs_render($form) überhaupt kommt: http://drupal.org/project/tabs. Das scheint es jedoch nur für d6 zugeben.
Hast Du mal die Hinweise unter dem 1. Link versucht?
Das wäre dann in Deinem Fall etwa das hier (in der page.tpl.php!):

<?php
if ($node->type == 'seite') {
 
$tabs .= '<li><a href="pfadZurView1/'. $node->nid .'">View1</a></li>';
 
$tabs .= '<li><a href="pfadZurView2/'. $node->nid .'">View2</a></li>';
 
$tabs .= '<li><a href="pfadZurView3/'. $node->nid .'">View3</a></li>';
}
if (
$tabs) :
?>

<ul class="tabs primary"><?php print $tabs; ?></ul>
<?php endif; ?>

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tabs

Eingetragen von stBorchert (6003)
am 21.09.2008 - 10:27 Uhr

Habs gerade mal ausprobiert: das funktioniert bei mir.
Ich habe einen View erstellt mit dem Pfad "node/$arg/test" und dann den Code (leicht an mein Theme angepasst) in die [page.tpl.php] eingefügt.
Und schon habe ich einen neuen Tab wenn ich die Seite anschaue.

<?php
if ($node->type == 'race') {
  if (
$tabs) {
   
$tabs_extend = TRUE;
   
$tabs = str_replace('</ul>', '', $tabs);
  }
 
$tabs .= '<li><a href="'. url('node/'. $node->nid .'/test') .'"><span class="tab">Test</span></a></li>';
}
if (
$tabs) :
?>

<?php print $tabs . ($tabs_extend ? '</ul>' : ''); ?>
<?php endif; ?>

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

wieder tabs

Eingetragen von mmz (15)
am 21.09.2008 - 11:40 Uhr

...sachte taste ich mich daran - dank Deiner Hilfe.
Also habe mir firebug die schon existierenden tabs mal näher angeschaut, ok, jetzt kapiere ich, welche Klassen ich den verpassen muss.
Was ich einfach nicht blicke ist, wo ich den Knotentyp definiere? (if ($node->type=='xx'){...} Das ist ja ein "Dreh- und Angelpunkt".....

ok, da die Views contextsensitiv in den Knoten eingebettet sind bekommen sie den Pfad "node/$arg/was auch immer 1-3" --stimmt das?
Danke für Deine Geduld!
mmz

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tabs

Eingetragen von stBorchert (6003)
am 21.09.2008 - 12:59 Uhr
mmz schrieb

Was ich einfach nicht blicke ist, wo ich den Knotentyp definiere? (if ($node->type=='xx'){...} Das ist ja ein "Dreh- und Angelpunkt".....

Die nodes, denen Du den zusätzlichen Tab verpassen willst, sind doch von einem bestimmten Typ, oder nicht (und sei es auch ganz simpel "story" oder "page")?
Den Typ fragst Du dann dort ab. Es sei denn, Du möchtest den Tab bei allen node-Typen anzeigen. Dann kannst Du Dir die Abfrage nach dem Typen sparen.

mmz schrieb

ok, da die Views contextsensitiv in den Knoten eingebettet sind bekommen sie den Pfad "node/$arg/was auch immer 1-3" --stimmt das?

So Du denn die Node-Id mit übergibst und den Pfad wie von mir beschrieben aufbaust: ja.

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke!!

Eingetragen von mmz (15)
am 21.09.2008 - 13:33 Uhr

Meine Güte Stefan, du bist ein Held! Es geht! danke, danke, danke!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 5 Wochen 3 Tagen
  • Vielen Dank für Ihren
    vor 5 Wochen 5 Tagen
  • Composer ist sehr ratsam
    vor 6 Wochen 20 Stunden
  • Vielen Dank für den
    vor 6 Wochen 3 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 6 Wochen 3 Tagen
  • Gut gemacht
    vor 6 Wochen 3 Tagen
  • Layout Builder etc. z.B. für Landing Pages
    vor 6 Wochen 3 Tagen
  • Links
    vor 6 Wochen 6 Tagen
  • Moin,wow, sehr gutes
    vor 7 Wochen 10 Stunden
  • Dass ist eine spannende
    vor 7 Wochen 18 Stunden

Statistik

Beiträge im Forum: 250316
Registrierte User: 20567

Neue User:

  • Philiphelve
  • Robertspaft
  • drupalthemes

» 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 0 User und 9 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