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

  • 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 1 Woche 6 Tagen
  • 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 1 Tag
  • In der entsprechenden View
    vor 3 Wochen 1 Tag
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 1 Tag
  • 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 16 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