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 - 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 (3857)
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.

  • Anmelden oder Registrieren um Kommentare zu schreiben

CKEditor

Eingetragen von Bavramor (132)
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

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