[gelöst]tpl.php "Variablen, Checkboxen" CCK Felder.
am 08.02.2010 - 02:04 Uhr in
Guten Abend,
nach langer Suche bin ich leider immer noch nicht schlauer...
Sachlage:
Inhaltstyp "Farbe" erstellt mit Zusatzfeldern "Checkboxen" namens "farben"
-Blau
-braun
-Rot
-Gelb
-Orange
Beim Inhalt erstellen "Rot"" und "Blau" angeklickt.
In die Datei "node-farbe.tpl.php" folgende Daten eingetragen.
<?php
print $node->field_farben[0]['view']
?>
<?php
print $node->field_farben[1]['view']
?>
<?php
print $node->field_farben[2]['view']
?>
<?php
print $node->field_farben[3]['view']
?>
<?php
print $node->field_farben[4]['view']
?>
Logischerweise zeigt er die angeklickten Daten in der Ausgabe. Blau und Rot.
Mein Problemchen ist jetzt folgendes... wie kann ich direkt das Checkbox ausgeben. (wenn ich Inputtype direkt vor jeder Variable mache ist ja doff weil der rest ja net da ist)
Oder geht das nur mit coden? (bin totaler Anfänger in php...) eine IF Abfrage schaf ich denoch.. nur halt die Frage wie kann ich zB. anfragen ob
<?php
print $node->field_farben[0]['view']
?>
Danke für die HILFE...
- Anmelden oder Registrieren um Kommentare zu schreiben
Auch wenn PHP nicht so Dein
am 08.02.2010 - 02:22 Uhr
Auch wenn PHP nicht so Dein Ding ist verwende mal das Devel Modul
und mach im Code des Template folgendes
<?php
dsm($node->field_farben);
?>
In der Develausgabe kannst Du die Struktur des Array field_farben erkennen - mit allen seinen Werten.
Mit diesem Array kannst Du die Checkboxen aufbauen. So weit erst Mal. Fuer weitergehende Hilfe stehe ich Dir leider nicht zur Verfuegung weil ich keine Lust habe ueber PHP zu referieren.
------------------------
Quiptime Group
Da geht noch was.
Auch wenn PHP nicht so Dein
am 08.02.2010 - 02:22 Uhr
Auch wenn PHP nicht so Dein Ding ist verwende mal das Devel Modul
und mach im Code des Template folgendes
<?php
dsm($node->field_farben);
?>
In der Develausgabe kannst Du die Struktur des Array field_farben erkennen - mit allen seinen Werten.
Mit diesem Array kannst Du die Checkboxen aufbauen. So weit erst Mal. Fuer weitergehende Hilfe stehe ich Dir leider nicht zur Verfuegung weil ich keine Lust habe ueber PHP zu referieren.
------------------------
Quiptime Group
Da geht noch was.
Auch wenn PHP nicht so Dein
am 08.02.2010 - 03:29 Uhr
Auch wenn PHP nicht so Dein Ding ist verwende mal das Devel Modul
und mach im Code des Template folgendes
<?php
dsm($node->field_farben);
?>
In der Develausgabe kannst Du die Struktur des Array field_farben erkennen - mit allen seinen Werten.
Mit diesem Array kannst Du die Checkboxen aufbauen. So weit erst Mal. Fuer weitergehende Hilfe stehe ich Dir leider nicht zur Verfuegung weil ich keine Lust habe ueber PHP zu referieren.
Sorry Doppelpost, bitte loeschen.
------------------------
Quiptime Group
Da geht noch was.
Willst du einfach nur
am 08.02.2010 - 03:39 Uhr
Willst du einfach nur prüfen, ob die Checkbox angeklickt ist oder nicht?
Das kannst du ganz einfach so prüfen:
<?php
if($node->field_farben[0]['value'])
?>
Mit ['value'] prüfst du den eingegebenen Wert. Wenn also jemand die Checkbox angeklickt hat, gibt sie an diese Abfrage oben true zurück.
re
am 08.02.2010 - 03:46 Uhr
Danke für die Antwort,
Develmodul ist ja ganz cool, nur brauche den an sich nicht, weil die ganzen Variablen ja in Content Template drin stehen.
Gibt es keine fertige scripts für die "tpl Dateien" die Variablen richtig verarbeiten?
Danke für die Mühe.
Danke Exterior
am 08.02.2010 - 04:14 Uhr
So einfach geht´s
if($node->field_farbe[0]['value'])
{
echo '<input type="checkbox" checked="checked" disabled="disabled" />';
print $node->field_farbe[0]['view'];
}
if($node->field_farbe[1]['value'])
{
echo '<input type="checkbox" checked="checked" disabled="disabled" />';
print $node->field_farbe[1]['view'];
}
if($node->field_farbe[2]['value'])
{
echo '<input type="checkbox" checked="checked" disabled="disabled" />';
print $node->field_farbe[2]['view'];
}
..............
Danke für die Hilfe.
Normaler weise könnte man auch das koplette Array ausgeben... aber wie gesagt PHP Anfänger. Bei 11 Werten wird mehr Code werden, aber Egal... weils funktioniert ;D
Tipp: Zählschleife
am 08.02.2010 - 04:45 Uhr
Du kannst das ganze auch in eine Zählschleife packen, dann hättest du alle 11 Felder mit ein paar Zeilen Code abgearbeitet.
Für 11 Werte würde das dann so aussehen:
<?php
for ($i = 0; $i < 11; $i++)
{
if($node->field_farbe[$i]['value'])
{
echo '<input type="checkbox" checked="checked" disabled="disabled" />';
print $node->field_farbe[$i]['view'];
}
}
?>
Damit würden alle 11 Werte abgearbeitet, genauso, wie du es oben geschrieben hast, nur eben in einer einzigen Zählschleife.
(eigentlich kannst du den Code der Schleife so wie er ist mal probieren)
Ach ja: Bitte schreibe vor den Titel dieses Threads noch [gelöst], damit jeder weiß, dass das hier geklärt ist ;-)
re
am 08.02.2010 - 12:17 Uhr
Ui ui ui
darauf hätt auch ich kommen können ;D
Danke schön