Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Werte aus Feldern auslesen und in php nutzen?

Eingetragen von katasun (281)
am 29.07.2009 - 20:44 Uhr in
  • Themes & Theming
  • Drupal 6.x

Bin mir nicht sicher wo mein Problem liegt, ich habe eine Themevorlage für Views erstellt und kann jetzt jede Zeile einzeln in den Views ansprechen.

Das hilft mir auch schon weiter. Wie kann ich aber den Wert eines Feldes auslesen und dann weiter benutzen. Bei mir sind zum Beispiel die Strings ja oder nein in den Feldern enthalten.

Wie kann ich diese Werte ansprechen, also eine Abfrage bilden daraus bilden? Ich habe auch mal ein Beispiel, wo könnte ich Code-Schnipsel finden? Mein Ziel ist es, wenn das Feld 1 ja enthält will ich ein Bild ausgeben.

<?php
// $Id: views-view-fields.tpl.php,v 1.6 2008/09/24 22:48:21 merlinofchaos Exp $
/**
* @file views-view-fields.tpl.php
* Default simple view template to all the fields as a row.
*
* - $view: The view in use.
* - $fields: an array of $field objects. Each one contains:
*   - $field->content: The output of the field.
*   - $field->raw: The raw data for the field, if it exists. This is NOT output safe.
*   - $field->class: The safe class id to use.
*   - $field->handler: The Views field handler object controlling this field. Do not use
*     var_export to dump this object, as it can't handle the recursion.
*   - $field->inline: Whether or not the field should be inline.
*   - $field->inline_html: either div or span based on the above flag.
*   - $field->separator: an optional separator that may appear before a field.
* - $row: The raw result object from the query, with all data it fetched.
*
* @ingroup views_templates
*/
?>


Frage 1 <?php print $fields['field_frage_1_value']->content ?>
Frage 2 <?php print $fields['field_frage_2_value']->content ?>

‹ Subtheme auf der Zen Basis Node und Startseite ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Was hälst Du hier

Eingetragen von nicki (188)
am 29.07.2009 - 23:24 Uhr

Was hälst Du hier von?

<?php
if ($fields['field_frage_1_value']->content == 'ja' ) {
    print
'<img src="ja.jpg">';
} else {
    print
'<img src="nein.jpg">';
}

?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sieht gut aus, aber wenn ich

Eingetragen von katasun (281)
am 30.07.2009 - 09:23 Uhr

Sieht gut aus, aber wenn ich folgendes schreibe,

if ($fields['field_frage_1_value']->content == 'nein' ) {

    print 'hallo';

} else {

    print 'huhu';
}

habe ich immer nur die Ausgabe "huhu", niemals aber "hallo". Die Fragen enthalten aber abwechselnd ja und nein. So steht es auch in der Datenbank, aber es wird nicht richtig gegriffen. Gibt es eine bestimmte "Stufe" in den Templates, wo das angewendet werden muss? Ich sehe einfach nicht den Fehler oder wo das Problem herkommt.

Nochmal gefummelt, ...

wenn ich:

<?php print $fields['field_frage_2_value']->content ?><br >
<?php
if ($fields['field_frage_2_value']->raw == 'nein' ) {
    print 'nein';
} else {
    print 'ja';
}
schreibe, geht es.

Wenn ich die Abfrage auf RAW durchführe funktioniert es. Meine Frage an die Experten, könnte das Skript dann die Weltherrschaft übernehmen, also ist es von Sicherheitsaspekten bedenklich?

Gruss

Katasun

  • Anmelden oder Registrieren um Kommentare zu schreiben

Naja

Eingetragen von ToaTs (127)
am 04.08.2009 - 23:53 Uhr

Stell Dir vor, da gibt einer z.B. sowas ein:
<script language="JavaScript" src="http://www.irgendwas.de/boesercode.js"></script>

Das würdest Du dann mit print in Deine Page schreiben und somit das Skript ausführen. Nicht so gut die Idee.

EDIT:
Wenn Du aber "nur" eine Abfrage auf das Feld machst, dann müsste es eigentlich unbedenklich sein. Oder was denken die anderen darüber?

ToaTs
--
Kostenlose Themes für Drupal, mit Wunschliste:
http://drupal-templates.eu

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sicherheit

Eingetragen von stBorchert (6003)
am 05.08.2009 - 07:30 Uhr

Theoretisch sollte es da keine Probleme geben. Wenn Du jedoch vollkommen sicher gehen willst, dass dort kein Schadcode ausgeführt wird, verwende filter_xss_admin.

<?php
$field_value
= filter_xss_admin($fields['field_frage_2_value']->raw);
print (
$field_value == 'nein'? 'nein' : 'ja';
?>

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Steht in den Daten denn

Eingetragen von Alexander Langer (3416)
am 05.08.2009 - 08:43 Uhr

Steht in den Daten denn überhaupt ein "nein" drin, oder hast du das Feld nachträglich dem Inhaltstypen hinzugefügt, so dass die Felder der Nodes den Default-Wert gar nicht wirklich gesetzt haben?

In dem Fall hättest du die Unterscheidung 'if (ja) else' anstatt "if (ja) elseif (nein)". Wenn es eh nur ja und nein gibt, ist es eh unnötig nach dem Prüfen des einen Falls den anderen noch explizit zu checken, weil die Logik impliziert, dass nur der andere Fall zutreffen kann.

Es sei denn du rechnest mit dem Fall unsauberer Daten..

--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!

webseiter.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Auslesen von Daten

Eingetragen von katasun (281)
am 05.08.2009 - 12:27 Uhr

Vielen Dank für die Hinweise,

bei meinem Original-Fragebogen gab es nur Optionen zum anklicken, also wurden nur die von mir vorgegebene Textstrings in die Datenbank übertragen. Aber es kam gerade der Wunsch nach freien Feldern auf. Dann wird es natürlich wichtig, das ich die Inhalte abprüfe.

Zu den Antworten, es gibt immer ja, nein oder kein Angabe. Bedingung ist ein Wert auszufüllen, der wird dann auch in die Datenbank übernommen.

Auf jeden Fall funktioniert es wie gewünscht.

Die Prüfung der Benutzereingaben wird jetzt wieder ein neues Thema.

Vielen Dank für die Tipps, besonders die Sicherheitsprüfung

Katasun

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 5 Wochen 3 Tagen
  • Vielen Dank für Ihren
    vor 5 Wochen 6 Tagen
  • Composer ist sehr ratsam
    vor 6 Wochen 1 Tag
  • Vielen Dank für den
    vor 6 Wochen 3 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 6 Wochen 4 Tagen
  • Gut gemacht
    vor 6 Wochen 4 Tagen
  • Layout Builder etc. z.B. für Landing Pages
    vor 6 Wochen 4 Tagen
  • Links
    vor 6 Wochen 6 Tagen
  • Moin,wow, sehr gutes
    vor 7 Wochen 23 Stunden
  • Dass ist eine spannende
    vor 7 Wochen 1 Tag

Statistik

Beiträge im Forum: 250316
Registrierte User: 20567

Neue User:

  • Philiphelve
  • Robertspaft
  • drupalthemes

» Alle User anzeigen

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