Views
Views: Contextual Filter mit URL-Alias
Eingetragen von janja (8) am 29.09.2011 - 23:29 Uhr inMoin,
ich habe ziemliche normale Views (Views3, D7), die "Inhalt: Titel" als Contextual Filter erhalten, und die Ergebnisse als Link (auch mit diesem Titel) wieder ausgeben - alles fein und einfach.
Die Titel enthalten Leerzeichen, aber da die von Drupal url-codiert werden, ist das kein Problem. Trotzdem würde ich gerne an Stelle von [title] den URL-Alias von pathauto nutzen.
[gelöst] Bessere Lösung um in einem View-Template gruppierte Werte auszuwerten!?
Eingetragen von Methos (196) am 29.09.2011 - 17:09 Uhr inHallo,
ich habe zwar für das Problem eine 'Lösung' (wenn man das so nennen mag) gefunden, aber ich mag mir nciht vorstellen dass das die superduper Lösung ist, also ein Weg der so wie ich ihn gegangen bin gegangen werden soll.
Folgendes Szenario:
Ich habe eine View die Nodes eines Inhalttyps ausgeben. Dieser Inhaltstyp hat CCK-Ganzzahl Feld, das mehrere Werte zuläßt um verschieden Infos abzugreifen ( per Checkbox ).
Wenn ich nun diese Infos ausgeben will, muss ich die Daten in der View gruppieren lassen um nicht mehrere Zeilen zu bekommen, die sich nur durch diese eine Info unterscheiden.
Standardmäßig werdend ie Daten dann als durch komma getrennte liste ausgegeben ( wenn ich mich nun nicht ganz irre ).
Nun möchte ich diese Informationen aber anderweitig in der View nutzen. ( z.B. um die Information in Form von Icons auszugeben, die über eine Grafik gelegt werden).
Ich hab mir mal die $row daten ausgeben lassen in der Zeilendarstellung der view .. und siehe da. die Gruppierten Daten sind da gar nicht drin!! Also komm ich da auch nciht mit den normalen Tempalte-Variable mal eben dran.
Also hab ich mir die ganze View ausgeben lassen und mich an den Daten entlang gehangelt. Gefunden habe ich die Daten dann hier :
<?php
$view->display['page_1']->handler->handlers['field']['field_besonderheiten_og_value']->field_values[$row->nid];
?>wobei $row->nid (klar) eine Node-ID ist, nämlich die der aktuellen von der View ausgewerteten Zeile.
An der genannten Stelle findet sich dann ein Array das alle zu dem Ganzzahl-Feld gespeicherten Werte enthält.
Wenn ich mir die Zeile angucken kommen mir zwei Gedanken:
1.) Wahnsinn, du hast es gefunden
2.) Das kann ja wohl nicht im Sinne de Erfinders sein, dass ich mir den 'Quatsch' da so abholen muss. Oder etwa doch? Oder gibts da wirklich nen vernünftigeren, 'eingebauten' Weg?
Würd mich freune wenn da jemand Ahnung / eine Meinung zu hätte. Danke im voraus.
[gelöst] Eigenes Modul soll Daten für View bereitstellen
Eingetragen von Methos (196) am 29.09.2011 - 16:54 Uhr inHallo,
ich hab ein Problem, meine Daten ( aus meinem Modul ) Views zur Verfügung zu stellen / dort benutzbar machen.
Nun hab ich mir die Doku dazu schon zu gemüte geführt und das auch schon mal ( im Kontext von Nodes) hinbekommen.
Das aktuelle Modul soll aber seine Daten mit einer Benutzeransicht verbinden und da erscheinen die Daten nciht.
Weder kann ich eine Beziehung zu meinen daten herstellen noch werden sie (in einer Benutzer-View) als Felder zu Verfügung gestellt.
Ausgelesen werden die Daten, bei einer Node-View werden mir die Felder und die Beziehung angezeigt.
Ich verstehe aber nciht was an der nachfolgenden Deklaration falsch sein soll, bzw dazu führt das es nicht in einer Benutzer-View funktioniert.
<?php
$data['userpoints_leaderboard']['table']['group'] = t('Userpoints Leaderboard');
$data['userpoints_leaderboard']['table']['join'] = array(
'user' => array(
'handler' => 'views_join',
'left_table' => 'users',
'left_field' => 'uid',
'field' => 'uid',
),
'node' => array(
'left_field' => 'uid',
'field' => 'uid',
),
);
$data['userpoints']['uid'] = array(
'title' => t('User'),
'help' => t('Relate the userpoints leaderboard to the user table.'),
'relationship' => array(
'relationship table' => 'userpoints_leaderboard',
'relationship field' => 'uid',
'base' => 'users',
'field' => 'uid',
'label' => t('Users'),
'handler' => 'views_handler_relationship',
),
);
$data['userpoints_leaderboard']['pday'] = array(
'title' => t('User point (day)'),
'help' => t('Users Points on actual day'),
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_numeric',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
$data['userpoints_leaderboard']['pweek'] = array(
'title' => t('User point (week)'),
'help' => t('Users Points on actual week'),
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_numeric',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
return $data;
}
?>Vielleicht ist es ja nur eine Kleinigkeit die ich übersehen habe... Hat jemand einen Tipp für mich?
Kennt vll jemand eine Vernünftige Dokumentation zum Thema Entwickeln für und mit Views ( in Drupal 6 und 7 )? Oder nen Vernünftiges Buch dazu ( gerne auch in englisch). Irgendwie habe ich den Eindruck dass das nicht sooo dolle dokumentiert ist.
(Oder ich will mal wieder sachen, die sonst keienr will *g*)
Danke im voraus für die Hilfe
Update:
Ein dämlicher Typo und schon gehts nicht *g*
Es muss hier 'users' als Key heißen und nicht 'user' und schon klappts auch:
<?php
$data['userpoints_leaderboard']['table']['join'] = array(
'users' => array(
'handler' => 'views_join',
'left_table' => 'users',
'left_field' => 'uid',
'field' => 'uid',
),
?>- Anmelden oder Registrieren um Kommentare zu schreiben
Schwarz/Weiß Effekt (rollover?) bei views möglich?
Eingetragen von firstlevel (519) am 28.09.2011 - 18:15 Uhr inHallo in die Runde,
wie kann ich einen Effekt wie diesen hier erzielen? http://ingasommer.de/galerie
Ich kriege zwar eine leichte transparenz hin, aber eigentlich möchte ich in die genau andeer Richtung: http://www.assia-helmich.de/specials/outdoor
Pls help
LG B!
views_embeded_view + filter
Eingetragen von sg88 (95) am 28.09.2011 - 14:24 Uhr inHallo zusammen,
ich versuche gerade einen View PHP aufruf mit einem Filter zu erweitern, aber irgendwie übernimmt er meinen Wert nicht in die Variable.
Hier mein Code
<?php
$view = views_get_view('test_view');
$display_id = 'default';
$view->set_display($display_id);
$filter = $view->get_item($display_id, 'filter', 'field_sitz_value');
$filter['2'] = $filter_value;
$view->set_item($display_id, 'filter', 'field_sitz_value', $filter);
print $view->preview();
?>In meinem View habe ich den Filter manuell angelegt und mit dem Wert 1 versehen. Leider bekomme ich bei der Ausgabe immer nur die Rückgabe mit dem Wert 1 und nicht wie von mir gewünscht mit dem Wert 2. Kann mir hierbei jemand helfen?
Gruß
SG
EDIT: Da ich im Anfängerforum hierzu leider keine Antwort erhalten habe, verschiebe ich es einfach mal nach CCK und Views und hoffe erneut ;)
read more --- Ziel der Teaser-Verlinkung über Views bestimmen?
Eingetragen von formelium (4) am 27.09.2011 - 21:28 Uhr inHallo zusammen,
ich möchte auf einer Drupal 7 Site eine Newsseite erstellen. Dabei sollen alle News auf der Seite „News“ gezeigt werden. Auf allen anderen Seiten sollen in einer Sidebar die 3 aktuellsten News angeteasert werden.
Dazu bin ich wie folgt vorgegangen:
1.) den Inhaltstyp News erstellt unter Struktur / Inhaltstypen
Bild in View nur für angemeldete Benutzer sichtbar. Warum?
Eingetragen von aloajoe (29) am 27.09.2011 - 11:12 Uhr inHallo Drupal-Community,
ich versuche bereits seit Stunden es zu ändern, weiß jedoch nicht wie ich es machen soll, weil ich nicht weiß wo der fehler liegen könnte.
Mein Problem ist, dass ich mit Views eine Ansicht für meine Ubercart-Artikel erstellt habe, mit:
Darstellung: Raster
Felder:
Node: Titel
Produkt: Preis
Inhalt: Bild product_full image linked to node
Sortierkriterium:
Views in Drupal 7 ohne Autor-Feld
Eingetragen von esseff (173) am 27.09.2011 - 10:44 Uhr inIch kann in Views kein Feld für den Autor des Beitrages finden. Bin ich blind oder ist es wirklich so? Wie kann ich es bewerkstelligen?
Danke im Voraus
Feld wird nicht angezeigt / Felder sortieren
Eingetragen von amateur_3000_deluxe (13) am 27.09.2011 - 10:08 Uhr inHallo zusammen,
[erledigt] Node Reference Url / NID (Parent-Node) an drupal_get_form übergeben?
Eingetragen von Ionit (1802) am 27.09.2011 - 10:03 Uhr inHallo Freunde,
ich habe einen (fertigen/gespeicherten) Parent-Node. Für diesen Parent-Node will ich Child-Nodes anlegen.
Im Child-Node gibt es ein Node Reference url Feld.
Normalerweise kann man im "Node-Reference"-Feld angeben, dass der Link, zur Erstellung des referenzierten Child-Nodes, im Parent-Node angezeigt wird sodass der User, wenn er diesen Link anklickt, auf das Add-Form des Child-Nodes gelangt. Die NID des Parent-Nodes wird per URL übergeben
node/add/childnode/nid_parent_node
Ich möchte jetzt aber, das Add-Form (für den Child-Node) nicht per URL aufrufbar machen, sondern direkt im Footer des Parent-Nodes anzeigen lassen (wie man das z.B. von der aufgeklappten Kommentar-Form kennt)
Um die Add-Form des Child-Nodes aufzurufen, binde ich folgenden Code direkt im Node-Template des Parent-Nodes ein.
<?php
module_load_include('inc', 'node', 'node.pages');
if (node_access('create', 'childnode')) {
$node = array('uid' => $user->uid, 'type' => 'childnode', 'language' => ''); // gekürzt
print drupal_get_form('childnode_node_form', $node);
}
?>Da hierbei ja nicht die NID des Parent-Nodes mit übergeben wird, weil der Aufruf des Add-Forms nicht über die URL mit der angehängten NID abläuft, dachte ich nun, dass man diese NID mit in das $node-Array mit reinschreiben muss.
<?php
$node = array('uid' => $user->uid, 'type' => 'childnode', 'language' => ''', 'field_reffi[0][nid]' => $node->nid);
?>'field_reffi[0][nid] ist das Array so wie es später in der gespeicherten $node-Variablen verfügbar sein muss.
Bevor das $node-Array an drupal_get_form übergeben wird, sieht das mit krumo so aus.

Wenn ich jetzt das Add-Form des Child-Nodes speichere, bleibt aber field_reffi[0][nid] weiterhin leer - sprich - der Child-Node hat die NID des Parent-Nodes nicht mitbekommen/gespeichert und "weiß" somit nicht worauf es referenziert.

Hat jemand eine Idee was ich falsch mache bzw. wie man die NID des Parent-Nodes korrekt in das Node-Array schreibt, sodass es von drupal_get_form korrekt verarbeitet werden kann?
Vielen Dank und schöne Grüße
Matthias

Neue Kommentare
vor 1 Woche 1 Tag
vor 1 Woche 1 Tag
vor 1 Woche 1 Tag
vor 1 Woche 1 Tag
vor 1 Woche 1 Tag
vor 1 Woche 2 Tagen
vor 1 Woche 2 Tagen
vor 1 Woche 3 Tagen
vor 1 Woche 4 Tagen
vor 1 Woche 6 Tagen