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

Views PHP -> Oder Operator liefert falsche Werte

Eingetragen von Bavramor (132)
am 02.05.2014 - 19:05 Uhr in
  • Views

Hallo,

ich würde gerne mit Views PHP einen Link ausgeben, wenn 1 von 2 Werten nicht leer ist.

Kurze Beschreibung:
Ich habe in einem contenttypen unter anderem ein normales Textfeld ( body ) und eine Bildergalerie. Jetzt würde ich gerne in meiner View einen Link zum gesamten Inhalt der Node haben, wenn mindestens einer der beiden Felder einen Inhalt hat. Es kommt aber auch vor, das beide Felder keinen Inhalt haben. Dann brauche ich auch keinen Link. Bis jetzt habe ich folgenden Code:

<?php
$node
= node_load($data->nid);
$var1 =  $node->body[LANGUAGE_NONE][0]['value'];
$var2 = $node->field_bilder_f_r_die_galerie_2[LANGUAGE_NONE][0]['value'] ;
if((isset(
$var1)) || (isset($var2))){
echo
"link";
}
else{
echo
"nolink";
}
?>

Als Ergebnis liefert er mir immer "link" zurück, auch wenn beide Felder leer sind . Wenn beide Felder leer sind, sollte eigentlich "nolink" ausgewertet werden.
Wenn ich aus Testzwecken den or - Operator mit einem and - Operator austausche, wertet er alles wie erwartet richtig aus !!!

Wo habe ich denn meinen Denkfehler ?

Vielen Dank

Bav

‹ Kontextfilter (Vorgabewert aus URL) & Probleme mit ViewCalc Views PHP -> Oder Operator liefert falsche Werte ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

denke daran

Eingetragen von ronald (3857)
am 02.05.2014 - 20:15 Uhr

isset liefert auch true, wenn ein Space enthalten ist.

Or liefert true, wenn einer von beiden etwas enthält, während and nur dann true liefert, wenn beide etwas enthalten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

CKEditor

Eingetragen von Bavramor (132)
am 03.05.2014 - 13:11 Uhr

Danke für Deine Antwort. Habe den Fehler auch gefunden. Über den CKEditor hat sich irgendwie noch ein p-tag eingeschlichen. War natürlich nur per Quellcodeanzeige ersichtlich.
So führte meine Abfrage natürlich zu einen falschen Ergebnis. Jeglichen Code aus dem CKEditor geschmissen und die Ergebnisse stimmen.

Allerdings bekomme ich jetzt noch folgende Fehlermeldung:

Notice: Undefined index: und in __lambda_func() (Zeile 2 von /home/bavramor/data/Webdesign/Webseiten/feuerwehr-germendorf/sites/all/modules/views_php/plugins/views/views_php_handler_field.inc(198) : runtime-created function).
Notice: Undefined index: und in __lambda_func() (Zeile 3 von /home/bavramor/data/Webdesign/Webseiten/feuerwehr-germendorf/sites/all/modules/views_php/plugins/views/views_php_handler_field.inc(198) : runtime-created function).

Der Fehler selber scheint immer geworfen zu werden, wenn das Ergebnis "NULL" ist. Allerdings enthalten die Felder ja auch keinen Inhalt.

Das wäre die Codezeile 198:

$this->php_output_lamda_function = create_function('$view, $handler, &$static, $row, $data, $value', ' ?>' . $this->options['php_output'] . '<?php ');

Und ein paar Zeilen mehr als ausschnitt:

/**
   * Implements views_handler_field#pre_render().
   */
  function pre_render(&$values) {
    if (!empty($this->options['php_output'])) {
      $this->php_output_lamda_function = create_function('$view, $handler, &$static, $row, $data, $value', ' ?>' . $this->options['php_output'] . '<?php ');
    }
  }

 
/**
   * Implements views_handler_field#render().
   */
  function render($values) {
    // Execute output PHP code.
    if (!empty($this->options['php_output']) && isset($this->php_output_lamda_function)) {
      $normalized_row = new stdClass;
      foreach ($this->view->style_plugin->rendered_fields{$this->view->row_index} as $field => $value) {
        $normalized_row->$field = $value;
      }

      $function = $this->php_output_lamda_function;
      ob_start();
      $function($this->view, $this, $this->php_static_variable, $normalized_row, $values, isset($values->{$this->field_alias}) ? $values->{$this->field_alias} : NULL);
      $value = ob_get_clean();
    }
    else {
      $value = check_plain($values->{$this->field_alias});
    }
    return $value;
  }
}

Wäre für einen Workaround sehr dankbar.

Gruß Bav

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
Weiter

Neue Kommentare

  • Verwende doch das Tag dafür,
    vor 2 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 2 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 2 Wochen 3 Tagen
  • Ich habe ja keine Angst vor
    vor 3 Wochen 5 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 4 Wochen 22 Stunden
  • Vielen Dank erst einmal, aber
    vor 4 Wochen 2 Tagen
  • Du hast die "Trusted host
    vor 4 Wochen 3 Tagen
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 6 Wochen 1 Tag
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 6 Wochen 5 Tagen
  • Arrrrg. Nix Tabelle :-D /*
    vor 11 Wochen 14 Stunden

Statistik

Beiträge im Forum: 250284
Registrierte User: 20507

Neue User:

  • Marvinkep
  • RandallFloop
  • Inga GuAph

» Alle User anzeigen

User nach Punkten sortiert:
wla9464
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 22 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