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

Views PHP -> Oder Operator liefert falsche Werte

Eingetragen von Bavramor (122)
am 02.05.2014 - 18: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 (3845)
am 02.05.2014 - 19: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.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

CKEditor

Eingetragen von Bavramor (122)
am 03.05.2014 - 12: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

  • D6 Views Data Export Multi Images -> D7
  • Drupal 10 und Thema Bartik
  • Wie in hook_views_query_alter() einen join auf Tabelle url_alias durchführen?
  • Strukturierte Daten Fehler
  • fbsmp\plugins Hilfe
  • Migration über feeds von D6 auf D8
  • Theme Classy sei installiert, ist aber nicht bei Themes
  • Composer 1 zu Composer 2
  • Bitte um Einschätzung: Upgrade von Drupal 7 auf 9
  • Scroll zu View-Ergebnissen nachdem Filter angewendet ist
  • SQL-Injection? User hat sich Zugriff aufs Admin-Konto geholt und Änderungen vorgenommen.
  • [gelöst] Persönliches Kontaktformular, oder interne User Nachrichten
Weiter

Neue Kommentare

  • Soweit ich mich erinnere war
    vor 1 Stunde 9 Minuten
  • Superfish
    vor 3 Tagen 21 Stunden
  • Auch für superfish gibt es
    vor 4 Tagen 53 Minuten
  • Versuchs mal mit
    vor 4 Tagen 48 Minuten
  • Drupal 10 läuft
    vor 4 Tagen 1 Stunde
  • Da wirst Du den Bug wohl selbst beheben müssen
    vor 5 Tagen 20 Stunden
  • Gleiches Problem: bootstrap 4
    vor 1 Woche 22 Stunden
  • Da wirst Du den Bug wohl
    vor 1 Woche 1 Tag
  • Immer noch composer 1 zu 2
    vor 1 Woche 1 Tag
  • Beziehung Branche Adresse!
    vor 1 Woche 2 Stunden

Statistik

Beiträge im Forum: 248400
Registrierte User: 19752

Neue User:

  • Aman_Musani
  • Dustinjex
  • Rickywap

» Alle User anzeigen

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