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

  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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
Weiter

Neue Kommentare

  • Ok es scheint zu laufen
    vor 29 Minuten 22 Sekunden
  • Danke. Es scheint jetzt
    vor 1 Stunde 23 Minuten
  • Der Fehler kann in der
    vor 15 Stunden 43 Minuten
  • Ja, das mit Mühselig hab ich
    vor 17 Stunden 37 Minuten
  • composer nutezn
    vor 1 Tag 1 Stunde
  • Sorry ich sehe gerade ich
    vor 2 Tagen 2 Stunden
  • Hallo, mittlerweile habe ich
    vor 2 Tagen 2 Stunden
  • fehlende Module
    vor 2 Tagen 5 Stunden
  • Keiner der mir weiterhelfen
    vor 4 Tagen 2 Stunden
  • Rollen
    vor 1 Woche 3 Tagen

Statistik

Beiträge im Forum: 250247
Registrierte User: 20469

Neue User:

  • Germanrom
  • StevenEness
  • ocvk2810

» Alle User anzeigen

User nach Punkten sortiert:
wla9462
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 82 Gäste online.

Benutzer online

  • wla

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