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

[gelöst] arguments (Views) mit php steuern und Kritik am O'Reilly- Buch wegen der fehlerhaften Wiedergabe von PHP- Codes

Eingetragen von weberh (124)
am 03.01.2010 - 23:05 Uhr in
  • CCK und Views
  • Drupal 6.x

Ich möchte Argumente in den Views mit php steuern.
In einem View als Block sollen die Bands des gleichen Genres ausgegeben werden, wie die Band im Node Content in der Mitte.

Code zum Argument Genre:

$nid = arg(1);
if ($this -> view -> current_display == 'block'
&& arg(0) == 'node' && is_numeric($nid))
{ $context = node_load($nid);
if ($context -> type == 'bandprofil')
{
return $context -> field_genre[0]['nid'];
}
}
return 'all';

Der Views tut zeigt nach wie vor alle Bands an, egal welchen Genres, es tut sich also nichts, ob mit oder ohne Code.

Dieses Beispiel stammt aus dem recht guten Buch von O'Reilly; "Praxiswissen Drupal6".
Ich gehe davon aus, dass ich die Einträge laut Buch alle richtig gemacht habe, auch für diesen View: "Bands gleichen Genres"
Ich habe natürlich das PHP Modul aktiviert.

Wer kann mir helfen?

Hartmut

‹ Felder in entsprechenden Kategorien anzeigen [gelöst] Anfänger - Ist Views bei Drupal 6 anders als bei Drupal 5 ? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Mit der Funktion var_export

Eingetragen von traxer (1013)
am 04.01.2010 - 01:11

Mit der Funktion var_export kannst anzeigen lassen, welchen Wert eine Variable hat und mit drupal_set_message kannst du eine Statusmeldung in Drupal anzeigen.

Das kannst du dazu verwenden, um deinen Code mit Debugging-Informationen anzureichen:

<?php
$nid
= arg(1);

drupal_set_message('DBG $nid: ' . var_export($nid, true));
drupal_set_message('DBG current_display: ' . var_export($this->view->current_display, true));
drupal_set_message('DBG arg(0): ' . var_export(arg(0), true));
drupal_set_message('DBG is_numeric($nid): ' . var_export(is_numeric($nid), true));

if (
$this -> view -> current_display == 'block'
 
&& arg(0) == 'node' && is_numeric($nid))
{
 
$context = node_load($nid);

 
drupal_set_message('DBG $context->type: ' . var_export($context->type, true));

  if (
$context -> type == 'bandprofil')
  {

   
drupal_set_message('DBG $context->field_genre[0]["nid"]: ' . var_export($context->field_genre[0]['nid'], true));

    return
$context -> field_genre[0]['nid'];
  }
}

drupal_set_message('DBG: return "all" wird ausgeführt.');

return
'all';
?>

Wenn du nun ein Bandprofil besuchst, dann solltest du recht schnell erkennen ab wann dein Code und deine Vorstellungen getrennte Wege gehen.

BTW: ich glaube, $this->view->current_display == 'block_1'.
--
XING

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke und: Wohin damit?

Eingetragen von weberh (124)
am 04.01.2010 - 16:27

Wird dein Code in eine neue Seite als PHP-Code eingefügt?

Gruß Hartmut

  • Anmelden oder Registrieren um Kommentare zu schreiben

Der Code ersetzt deinen

Eingetragen von traxer (1013)
am 04.01.2010 - 18:48

Der Code ersetzt deinen bestehenden Code.

--
XING

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Debug- Anzeige klappt

Eingetragen von weberh (124)
am 05.01.2010 - 00:39

Ein interessante Möglichkeit zu debuggen. Danke für die Arbeit. Und ich weis jetzt wie es geht.
Woher kann man diese Info bekommen? Gibt es ein Buch?
Z.B. Drupal für Entwickler?

Ich werde jetzt anhand der Ausgaben prüfen, welche Fehler auftreten. Zumindest geht aber der PHP- Code überhaupt.

In dem Views/ Arguments habe ich jedoch die php-Codezeichen

<?php
....
?>
weglassen müssen.

Gruß Hartmut

  • Anmelden oder Registrieren um Kommentare zu schreiben

Deine Vermutung war richtig!

Eingetragen von weberh (124)
am 05.01.2010 - 00:37

Du hast richtig gelegen mit der Benennung "Block_1" statt lediglich "Block".

Die erste if- Bedingung war dadurch immer false und wurde nie durchlaufen, damit auch nicht die darunterstehende Debug- Ausgabe.

Nach der Veränderung lief es richtig.

Damit hast du einen wichtigen Bug in dem O'Reilly - Buch aufgedeckt.

Und ich hab den Einstieg in das PHP - Debugging geschafft.

Nochmals Danke für die schnelle Hilfe.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • "INSERT INTO" funktioniert nicht im Internet Explorer
  • Bereiche für Pfade, Themes, usw. einfügen?
  • Problem mit pathauto und i18n - URL-Alias wird nur für Source-Node erstellt
  • Update nach 6.16
  • Katalog mit Anfragemöglichkeit
  • Übercart, Shop Zahlungssysteme in der Schweiz
  • Problem mit Mini-Panels
  • Titel bei Kommentaren verstecken
  • "Doppelte Buchführung" in Drupal
  • Gast erstellt cck, soll Mail kriegen mit Bearbeitungslink
  • Layout des Profils
  • Fatal error bei Aufruf der Zugriffskontrolle
Weiter

Neue Kommentare

  • Ich übergebe mit einem
    vor 1 Minute 25 Sekunden
  • Wie sieht das konkret aus?
    vor 8 Minuten 54 Sekunden
  • krabbe schrieb In Frage
    vor 17 Minuten 55 Sekunden
  • Hallo Sandro, zur Umsetzung
    vor 20 Minuten
  • um welches ubercart modul
    vor 22 Minuten 58 Sekunden
  • Fehler ganz einfach gelöst
    vor 17 Minuten 58 Sekunden
  • Details
    vor 38 Minuten 48 Sekunden
  • Bowser abhängig?????
    vor 42 Minuten 12 Sekunden
  • Aus den Bildern kann man
    vor 51 Minuten 58 Sekunden
  • CSS
    vor 53 Minuten 54 Sekunden

Statistik

Beiträge im Forum: 113594
Registrierte User: 10254

Neue User:

  • nuiientertainment
  • dietrich.kammeer
  • womo-paul

» Alle User anzeigen

User nach Punkten sortiert:
quiptime4706
stBorchert3647
md3536
Tobias Bähr3431
bv3275
dereine2589
Alexander Langer2512
pebosi2488
Thoor1724
rapsli1475
» User nach Punkten
Zur Zeit sind 18 User und 64 Gäste online.

Benutzer online

  • Hacky
  • Joanna VAO
  • teNNe
  • Noob-Anfänger
  • SaschaCap
  • Aneta
  • quiptime
  • majorbenks
  • Carsten Logemann
  • bv
  • Crashy
  • firstlevel
  • jadenz
  • SirFiChi
  • Kyuss
  • krabbe
  • daharry
  • Waldknoblauch

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Referenzen
  • Installation
  • Update
  • Forum
  • Team

Quicklinks II

  • 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

  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
DrupalCamp.de - Drupal Initiative - Drupal Association