Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

Feld auf leer abfragen

Eingetragen von lierai09 (48)
am 10.12.2008 - 11:31 Uhr in
  • Anfängerfragen
  • Drupal 6.x

Hallo,

php Anfängerfrage: Ich habe ein Textfeld in meinem Inhaltstyp. Dies ist kein Pflichtfeld. In meinem Template möchte ich das Feld nur andrucken wenn es auch gefüllt wurde. Mein Versuch das Feld auf Inhalt abzuprüfen schlug leider fehl.
Hat femand einen Tipp für mich?
Danke und Gruß
lierai

<?php if ($node->field_projekt[0]['value'] != "" { ?> <h1>Projekt: <?php print $node->field_projekt[0]['value'] } ?></h1>

‹ Downloadbereich nur für bestimmt User [gelöst]Ausgesperrt ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

nicht so schöne Lösung

Eingetragen von lierai09 (48)
am 10.12.2008 - 11:43 Uhr

Hallo,

habe eine Lösung gefunden die aber nicht schön ist.
Eventuell hat ja jemand einen Tipp für mich wie das schöner zu machen ist.
Danke
lierai

<?php $myVariable = $node->field_projekt[0]['value'] ?>
    <?php print $myVariable ?>
    <?php if($myVariable != "") { ?>nicht leer <?php } ?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

isset

Eingetragen von stBorchert (6003)
am 10.12.2008 - 12:27 Uhr

Moin!
Ähm, php-Grundlagen.

<?php
if (isset($node->field_project[0]['value'])) {
  print
'nicht leer';
}
?>

http://de.php.net/isset

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Eine schöne Übersicht

Eingetragen von Alexander Langer (3416)
am 10.12.2008 - 12:30 Uhr

Eine schöne Übersicht über die diversen Vergleichsmöglichkeiten und ihre teils unterschiedlichen Ergebnisse in PHP gibt es hier: http://www.php.net/manual/de/types.comparisons.php

 Webdesign, Drupal, Module, Entwicklung

  • Anmelden oder Registrieren um Kommentare zu schreiben

leer

Eingetragen von stBorchert (6003)
am 10.12.2008 - 13:07 Uhr

Ups, er wollte ja testen, ob der Inhalt leer ist. Nicht, ob das Attribut existiert. Da war die Hand wieder schneller als das Auge :-)

<?php
if (isset($node->field_project[0]['value']) && $node->field_project[0]['value']) {
  print
'nicht leer';
}
?>

siehe http://lists.drupal.org/pipermail/development/2005-October/010768.html

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die Hilfe

Eingetragen von lierai09 (48)
am 10.12.2008 - 15:46 Uhr

Danke für die Hilfe

  • Anmelden oder Registrieren um Kommentare zu schreiben

@lierai09, das was Du machst ist doch paradox.

Eingetragen von quiptime (4972)
am 10.12.2008 - 18:07 Uhr

Bezugnehmend auf Deinen PHP Code aus dem Eroeffnungspost des Thread. Ich verstehe nicht was Du ueberhaupt erreichen willst.

Das was Du machst ist doch paradox:

Zitat:

In meinem Template möchte ich das Feld nur andrucken wenn es auch gefüllt wurde.

 
Wenn das Feld Inhalt hat dann wird der Inhalt angezeigt. Da muss man vorher nicht pruefen. Das ist einfach so.

Wenn das Feld keinen Inhalt hat wird es nicht angezeigt. Da muss man vorher nicht pruefen. Das ist einfach so.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

@quiptime: Grundsätzlich

Eingetragen von Alexander Langer (3416)
am 10.12.2008 - 18:17 Uhr

@quiptime:
Grundsätzlich hast du Recht, aber in der Regel geht es ja nicht um reine Plaintext-Ausgabe, sondern es gibt rundherum um den Wert des Feldes Markup. Eben diesen muss man ja nicht zwingend auswerfen und leer dastehen lassen, daher macht die Frage danach, wie man abfragt ob ein Feld einen Wert hat, durchaus auch Sinn.

 Webdesign, Drupal, Module, Entwicklung

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn "Projekt" das Label des CCK Feldes ist muss man nicht ...

Eingetragen von quiptime (4972)
am 10.12.2008 - 18:38 Uhr

Ich bleibe im Falle dieses Thread bei meiner Aussage.

Das will er ausgeben:

<h1>Projekt: <?php print $node->field_projekt[0]['value'] } ?></h1>

Jetzt soll Niemand sagen das "Projekt:" der zusaetzliche Output ist der die Inhaltspruefung begruendet. Auch das h1 Tag kann es nicht sein.

Um diese beiden Dinge anzuzeigen oder nicht bedarf es keiner Pruefung. Wenn "Projekt" das Label des CCK Feldes ist muss man nicht auf existierenden Feldinhalt pruefen denn es wird ja nur angezeigt wenn das Feld Inhalt hat. Der Rest wie die durch h1 entehende Schriftgroesse etc. kann man mittels CSS pimpen.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wo ich nichts ausgebe, muss

Eingetragen von Alexander Langer (3416)
am 10.12.2008 - 18:50 Uhr

Wo ich nichts ausgebe, muss ich nichts pimpen und doe "offiziellen" Feldbezeichner benutze ich in der Regel selbst auch nicht.. Drupal erzeugt ohne entsprechende Maßnahmen massig Code, der einem viel Flexibilität lässt. Aber Redundanz fängt ganz bestimmt dort an, wo Code für nicht vorhandenen Content ausgespuckt wird ;-)

 Webdesign, Drupal, Module, Entwicklung

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Alexander, verblueffende Logik.

Eingetragen von quiptime (4972)
am 10.12.2008 - 19:06 Uhr

@Alexander,

verblueffende Logik. Wenn man diesem Gedanken folgt: Sehe Dir 'ne Standard Theme style.css mit ihren vielen Formatierunge an und frage Dich mal wie man bei jeder Anzeige einer einzelnen Webseite dynamisch CSS Code zum Browser schaufelt der immer nur exakt die Formatierungen enthaelt die auch als HTML Element auf der gerade angezeigten Seite existieren.

Das waere das Optimum. Was aber hinfaellig wird wenn man bedenkt das der Browser CSS Code im Cache ablegt.

Zitat:

Aber Redundanz fängt ganz bestimmt dort an, wo Code für nicht vorhandenen Content ausgespuckt wird

Was hat das mit meiner Aussage ueber das Label eines CCK Feldes und seines Inhaltes zu tun?

Du hast vermutlich etwas missverstanden.

Wenn ein CCK Feld keinen Inhalt hat so wird nicht nur der Inhalt nicht angezeigt sondern auch die zu diesem Feld gehoerenden HTML/CSS Elemente werden nicht angezeigt. Das ist eigentlich bereits optimal.

Nicht optimal dagegen ist wenn man extra ein Nodetype Template mit nicht benoetigtem Code versieht der Funktionaliataeten realisiert die von Drupal bereits ohne zusaetzlichen Code realisierbar sind.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Lösung?

Eingetragen von green_eye55 (85)
am 18.06.2009 - 11:52 Uhr

Der Thread ist zwar schon etwas älter, aber ich bin genau über diesen Sachverhalt gestolpert. Wie löst man das am saubersten - ohne im Template eventuelle Beschriftungen nach dem Motto <h1>Projekt: <?php print $node->field_projekt[0]['view'] ?></h1> auf leeren Inhalt abfragen zu müssen?

Die Argumentation, dass diese Variante nicht sinnvoll ist, habe ich verstanden. Allerdings hat sich mir auch keine Lösung aus den voran gegangenen Threads ergeben. Kann mir jemand auf die Sprünge helfen?

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 12 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