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

Views automatisiert erstellen

Eingetragen von binki@drupal.org (42)
am 23.06.2008 - 11:37 Uhr in
  • Views
  • Drupal 5.x

Hi,

ich würde gerne Views automatisiert erzeugen. Ich habe da auch schon etwas recherchiert:
http://drupal.org/node/223404.
Zuerst habe ich eine bereits vorhandene View (View Objekt) exportiert und in PHP einegefügt.

<?php

// Bootstrap Drupal
include_once "includes/bootstrap.inc";
include_once(
"includes/common.inc");
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

 
$view = new stdClass();
 
$view->name = 'Kat_View_Test';
 
$view->description = 'Test';
 
$view->access = array (
 
0 => '1',
);
 
$view->view_args_php = '';
 
$view->page = TRUE;
 
$view->page_title = 'Test';
 
$view->page_header = '';
 
$view->page_header_format = '1';
 
$view->page_footer = '';
 
$view->page_footer_format = '1';
 
$view->page_empty = '';
 
$view->page_empty_format = '1';
 
$view->page_type = 'teaser';
 
$view->url = 'Test';
 
$view->use_pager = TRUE;
 
$view->nodes_per_page = '10';
 
$view->menu = TRUE;
 
$view->menu_title = 'Test';
 
$view->menu_tab = FALSE;
 
$view->menu_tab_weight = '9';
 
$view->menu_tab_default = FALSE;
 
$view->menu_tab_default_parent = NULL;
 
$view->menu_tab_default_parent_type = 'tab';
 
$view->menu_parent_tab_weight = '0';
 
$view->menu_parent_title = '';
 
$view->sort = array (
  );
 
$view->argument = array (
  );
 
$view->field = array (
  );
 
$view->filter = array (
    array (
     
'tablename' => 'node_data_field_kategorie',
     
'field' => 'field_kategorie_value_like',
     
'operator' => '=',
     
'options' => '',
     
'value' => 'Wirtschaft',
    ),
  );
 
$view->exposed_filter = array (
  );
 
$view->requires = array(node_data_field_kategorie);
 
$views[$view->name] = $view;

views_sanitize_view($view);
_views_save_view($view);
?>

Die neue View soll den Namen Test tragen und auch im Menü erscheinen.
Nun zu meinen Problemen. Ich habe eine Page erstellt in der ich o.g. Code ausführe.

Wenn ich den Code ausführe bekomme ich folgende Meldung:

Zitat:

Fatal error: Call to undefined function: views_sanitize_view() in /home/httpd/vhosts/mydomain.com/httpdocs/includes/common.inc(1342) : eval()'d code on line 58

Hm, die Funktion existiert aber... in views_cache.inc. Wozu brauche ich views_sanitize_view()???

Entferne ich die Funktion läuft es glatt durch,..dachte ich!

Leider taucht im Menü meine neue View nicht auf, unter Administrator Views ist sie jedoch vorhanden. Wenn ich dort auf View Edit gehe, nichts verändere, die View speichere ist alles in Ordnung (Im Menü sichtbar). Darüberhinaus werden die Filter die ich für diese View definiere nicht übernommen. :-(

Vielleicht hatte jemand schon ein ähnlichen Problem?

Vielen Dank!

Cheers,

Ralph

‹ Felder von Nodetype beim Erstellen von Inhalt in Anordnung und Darstellung ändern argument (ative) hilfe benötigt ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Warum benutzt du nicht

Eingetragen von dawehner (2639)
am 23.06.2008 - 11:52 Uhr

Warum benutzt du nicht einfach hook_views_default_views? http://drupal.org/node/99568

<?php
function hook_views_default_views() {
$view = new stdClass();
 
$view->name = 'Kat_View_Test';
 
$view->description = 'Test';
 
$view->access = array (
 
0 => '1',
);
 
$view->view_args_php = '';
 
$view->page = TRUE;
 
$view->page_title = 'Test';
 
$view->page_header = '';
 
$view->page_header_format = '1';
 
$view->page_footer = '';
 
$view->page_footer_format = '1';
 
$view->page_empty = '';
 
$view->page_empty_format = '1';
 
$view->page_type = 'teaser';
 
$view->url = 'Test';
 
$view->use_pager = TRUE;
 
$view->nodes_per_page = '10';
 
$view->menu = TRUE;
 
$view->menu_title = 'Test';
 
$view->menu_tab = FALSE;
 
$view->menu_tab_weight = '9';
 
$view->menu_tab_default = FALSE;
 
$view->menu_tab_default_parent = NULL;
 
$view->menu_tab_default_parent_type = 'tab';
 
$view->menu_parent_tab_weight = '0';
 
$view->menu_parent_title = '';
 
$view->sort = array (
  );
 
$view->argument = array (
  );
 
$view->field = array (
  );
 
$view->filter = array (
    array (
     
'tablename' => 'node_data_field_kategorie',
     
'field' => 'field_kategorie_value_like',
     
'operator' => '=',
     
'options' => '',
     
'value' => 'Wirtschaft',
    ),
  );
 
$view->exposed_filter = array (
  );
 
$view->requires = array(node_data_field_kategorie);
 
$views[$view->name] = $view;

}
?>

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

Nicht wirklich was ich suche...

Eingetragen von binki@drupal.org (42)
am 23.06.2008 - 14:25 Uhr

@dereine Vielen Dank für deine schnelle Antwort!

Leider löst das nicht mein Problem.

Etwas mehr details:

ich erzeuge dynamisch nodes(node_save), diese nodes haben Attribute die ich gerne über views abbilden möchte.
Beispiel: Ich habe eine node die ein CCK field Hersteller hat.
Wenn für diesen Hersteller (Attribut) noch keine View besteht, möchte ich diese erzeugen.

Ich dachte mit:

views_sanitize_view($view);
_views_save_view($view);

wäre das zu lösen.

Vielen Dank für eure Hilfe.

Cheers,

Ralph

  • Anmelden oder Registrieren um Kommentare zu schreiben

Lösung1: Warum gibts du den

Eingetragen von dawehner (2639)
am 23.06.2008 - 15:07 Uhr

Lösung1: Warum gibts du den Hersteller nicht einfach als Argument der View an?

Lösungs2:
Genauso wie du dynamisch Nodes erzeugen kannst, ist es natürlich auch möglich dynamisch Views zu erzeugen.
Nimm dazu z.B. eine vorhandene View und füge folgendes in ein Modul ein

<?php
function hook_views_pre_query(&$view) {
if (
$view->name == 'test') {
 
$view->filter[] = array (
   
'tablename' => 'node_data_field_kategorie',
   
'field' => 'field_kategorie_value_like',
   
'operator' => '=',
   
'options' => '',
   
'value' => 'Wirtschaft',
  );
}
?>

Damit kannste Felder dynamisch zur View hinzufügen
// Aber Lösung eins ist definitiv der bessere/einfachere Weg
--------------
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

hm immer noch nicht

Eingetragen von binki@drupal.org (42)
am 23.06.2008 - 15:23 Uhr

hm immer noch nicht wirklich, warscheinlich fehlt mir der Durchblick.(zu warm)
Ziel ist es eine View zu erzeugen, analog zur GUI.
Ich möchte mir die Arbeit sparen xhundert views manuell zu erzeugen.
Ganz dynamisch wie in Lösung zwei ist mir nicht sicher genug.

Einfach nur ne view via script erzeugen, die dann im Views - Adminbereich auftaucht.

Cheers,

Ralph

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

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 15 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