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

Spalten in Views ein-/ausblenden

Eingetragen von Michael Wiesing (2)
am 07.10.2009 - 09:48 Uhr in
  • Views
  • Drupal 6.x

Moin,

ich gebe verschiedene CCK-Felder über eine View in Tabellenform aus. Nun möchte ich gerne ein Formular über der View anbieten um einige Spalten ein- bzw. auszublenden, da die View sehr viele Spalten umfasst. Stelle mir das Formular so vor, das für jede Spalte eine Checkbox vorhanden ist.

Habe schon einiges ausprobiert, allerdings weiß ich nicht, wie die View vor der Darstellung in der Spaltenanzahl beschränkt werden kann. Eine Recherche im Inet brachte mich bisher auch nicht weiter.

Wäre sehr dankbar wenn mir ein erfahrerener Drupalnutzer auf die Sprünge helfen kann. Ich selbst benutze Drupal seit ein paar Wochen, habe allerdings einige Erfahrungen in SQL und PHP.

Mit freundlichen Grüßen
Michael Wiesing

‹ Filter in Views (Views) Seite erstellen mit Bereichen "Neueste Bilder", "Neueste User", usw. ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Über JavaScript oder ein Modul.

Eingetragen von traxer (1009)
am 11.10.2009 - 16:06 Uhr

Du hast mindestens zwei Möglichkeiten:

  1. In der Konfigurationsoberfläche von Views kannst Inhalt angeben, der oberhalb des Views angezeigt werden soll. Du könntest das benutzen um dort die Checkboxen und ein passendes JavaScript unterzubringen.
  2. In der Konfigurationsoberfläche von Views kannst du zu den einzelnen Feldern einstellen, ob sie angezeigt werden sollen oder nicht. Du könntest das dazu benutzen, eine Seite bereitzustellen, die oben das Formular mit den Checkboxen darstellt und darunter den View einbettet, der dann so modifiziert wurde, das die nicht ausgewählten Spalten nicht angezeigt werden.

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Möglichkeit ohne Javascript

Eingetragen von Michael Wiesing (2)
am 11.10.2009 - 15:46 Uhr

Vielen Dank für die schnelle Antwort!

Mir wäre allerdings eine Lösung ohne Javascript lieber, da ich kaum Erfahrungen mit Javascript habe. Des Weiteren benutze ich das Views Excel Export Modul um die View als Exceldatei anzubieten, dieser wäre ja dann von dem Javascript ausgenommen. Ist es möglich ein Modul zu schreiben, in dem man die View per PHP anpassen kann?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Michael Wiesing schrieb Ist

Eingetragen von traxer (1009)
am 11.10.2009 - 16:21 Uhr
Michael Wiesing schrieb

Ist es möglich ein Modul zu schreiben, in dem man die View per PHP anpassen kann?

Ich habe meinen obigen Beitrag etwas überarbeitet um deutlicher zu machen, daß es dort um zwei unterschiedliche Vorschläge geht :-)

Views kannst du mit views_get_view laden. views_embed_view zeigt dir, wie man einen view ausgeben kann. Außerdem ist bestimmt das Views 2 API Manual interessant.

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tabelle ist vermutlich eine eierlegende Wollmilchsau ?

Eingetragen von quiptime (4972)
am 11.10.2009 - 16:16 Uhr

Deine View-Ansicht mit der Tabelle ist vermutlich so etwas wie eine eierlegende Wollmilchsau. Du hast moeglichst viel in die Tabelle gepresst.

Alternativ kannst Du die View-Ansicht auch trennen und die beiden View-Ansichten mit jeweils einer kleineren Tabelle gegenseitig verlinken.

------------------------
Quiptime Group

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie kann man denn mit views

Eingetragen von Vaio (61)
am 11.10.2009 - 17:32 Uhr

Wie kann man denn mit views die Suchergebnisse unten darstellen? Ist es außerdem möglich, dass wenn man in der Auswahlliste etwas auswählt, dass dann eine Ergebnisliste erscheint, sodass diese letztendlich durch draufklicken zu den Inhalten führt die unten aufgelistet sind?

So sieht das bei mir jetzt aus: http://www.einkaufsmonitor.net/?q=e-nummernverzeichnis

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich stelle es mir ungefähr so vor

Eingetragen von traxer (1009)
am 12.10.2009 - 10:55 Uhr

Ich stelle es mir ungefähr so vor:

<?php


/**
* Callback bekannt machen.
*/
function example_menu()
{
  return array(
   
'e-nummernverzeichnis' => array(
     
'title' => 'E-Nummernverzeichnis',
     
'page callback' => 'example_page',
     
'access arguments' => array('access content'),
     
'type' => MENU_NORMAL_ITEM,
    ),
  );
}

/**
* Callback
*/
function example_page($spalten = 0) {
  if (
$spalten == 0) {
   
// Wenn keine Spalten angegeben wurden, alle Spalten anzeigen.
   
$spalten = 2047;
  }

 
// Formulareingabe verarbeiten und Formular anzeigen.
 
$output = drupal_get_form('example_form', $spalten);
 
 
// View Konfigurieren und anzeigen
 
$view = views_get_view('nummernverzeichnis_view');
 
// TODO: Anhand der API-Dokumentation od durch Ausgabe von $view herausfinden,
  // wie Felder im View auf unsichtbar gesetzt werden können.
  // TODO: Alle Felder in $view auf unsichtbar stellen
 
foreach (example_arg2options($spalten) as $spalte) {
   
// TODO: Spalte $spalte auf sichtbar schalten
 
}
 
$args = func_get_args();
 
array_shift($args); // $spalten entfernen
 
$output .= $view->preview('default', $args);

  return
$output;
}

/**
* Formular
*/
function example_form($form_state, $spalten) {
 
$form['spalten'] = array(
   
'#type' => 'checkboxes',
   
'#title' => t('Columns'),
   
'#description' => t('Select the columns that you want to display.'). ' ' .
     
t('If you don`t choose specific columns, all columns will be displayed.'),
   
'#options' => array( // Bit-Flags für die einzelnen Spalten
        
1 => 'Spalte 1',
        
2 => 'Spalte 2',
        
4 => 'Spalte 3',
        
8 => 'Spalte 4',
       
16 => 'Spalte 5',
       
32 => 'Spalte 6',
       
64 => 'Spalte 7',
      
128 => 'Spalte 8',
      
256 => 'Spalte 9',
      
512 => 'Spalte 10',
     
1024 => 'Spalte 11',
    ),
   
'#default_values' => example_arg2options($spalten);
  );
 
$form['submit'] = array(
   
'#type' => 'submit',
   
'#value' => t('Save'),
  );

  return
$form; 
}

/**
* Formular verarbeiten
*/
function example_form_submit($form, $form_state) {
 
// Array aus Bit-Flags in Integer umwandeln.
 
$result = array_sum(array_keys(array_filter($form_state['values']['spalten']))));
 
// Weiterleiten
 
$form_state['redirect'] = "e-nummernverzeichnis/$result";
}

/**
* Wandelt Bit-Flags in Array um.
*/
function example_arg2options($spalten) {
 
$optionen = array();
 
$spalte = 1;
  while (
$spalten != 0) {
   
$tmp = intval($spalten / 2);
    if (
$tmp - $spalten != 0) {
     
$optionen[$spalte] = $spalte
   
}
   
$spalte *= 2;
   
$spalten = $tmp;
  }
  return
$optionen;
}
?>

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke! Nur weiß ich jetzt

Eingetragen von Vaio (61)
am 12.10.2009 - 19:24 Uhr

Danke für deine Antwort! Nur weiß ich jetzt nicht, was ich damit genau anfangen soll :-)

Über FTP einbinden (wo genau?) oder über Drupal importieren, wobei ich Letzteres schon vergeblich versucht habe?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vaio schrieb Nur weiß ich

Eingetragen von traxer (1009)
am 12.10.2009 - 20:58 Uhr
Vaio schrieb

Nur weiß ich jetzt nicht, was ich damit genau anfangen soll :-)

Mache dich mit dem Thema Modulentwicklung in Drupal vertraut, dann weißt du es. Die notwendingen Informationen findest du im Module developer's guide. Auch wenn es auf den ersten Blick etwas viel erscheinen mag: wenn man sowieso schon PHP kann, dann zahlt es sich auf lange Sicht aus. Konnkret musst du dir (neben der Infrastrukur von Modulen) die Forms API und das Drupal Menu System anschauen.

Vaio schrieb

Über FTP einbinden (wo genau?) oder über Drupal importieren, wobei ich Letzteres schon vergeblich versucht habe?

Dazu war's nicht gedacht. Eher ein Technology Preview.
--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Achso, und einfacher geht es

Eingetragen von Vaio (61)
am 13.10.2009 - 15:46 Uhr

Achso, und einfacher geht es nicht? Dachte mit views ist das möglich. Zumindest hatte ich mal genau diese oder eine ähnliche Einstellung, jedoch wieder vergessen wie das war. Also irgendwie muss das doch mit views gehen ohne mit code zu arbeiten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vaio schrieb Dachte mit

Eingetragen von traxer (1009)
am 13.10.2009 - 17:11 Uhr
Vaio schrieb

Dachte mit views ist das möglich. Zumindest hatte ich mal genau diese oder eine ähnliche Einstellung, jedoch wieder vergessen wie das war.

Kann es sein, das es die Konfigurationseinstellung ist von der ich im zweiten Punkt meines ersten Beitrages geredet habe? Die findest du in den Konfigurationseinstellungen der einzelnen Felder. Heißt glaube ich "Exclude this field from display". Das Problem ist ja, das du dem Benutzer ermöglichen möchtest, einzustellen ob er ein Feld sehen möchte oder nicht.

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Views Konfiguration

Eingetragen von Vaio (61)
am 18.10.2009 - 22:19 Uhr

Sorry das ich mich so spät melde, hatte aber keine Zeit weiter daran zu arbeiten.

Ja, es müsste eigentlich nur an der Konfiguration liegen, nur finde ich die richtige Einstellung nicht.
Ich kann zwar ein Vokabular anzeigen, möchte aber nur dessen Unterbegriffe anzeigen. Das geht aber leider nicht, egal wie ich es bisher eingestellt habe.

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