FHEM Forum
FHEM => Codeschnipsel => Thema gestartet von: Volker am 31 Dezember 2012, 17:38:33
-
Für schreibfaule, so wie ich ...
mit dem folgenden Codeschnipsel, in 01_fhemweb, kann man neben seinen definierte Objekten ein Icon anzeigen, welches mit anklicken dann das definierte Objekt löscht.
Es muss allerdings ein save gemacht werden damit es dauerhaft ist.
########################
# Show the overview of devices in one room
# room can be a room, all or Unsorted
sub
FW_showRoom()
...
...
...
# FW_pO "</td>";
$icon = FW_makeImage('del') . " ";
FW_pO "<td><a href='/fhem?cmd=delete%20$devName'><div class='Del'>$icon</div></a></td>";
}
FW_pO "</table>";
FW_pO "</td></tr>";
}
FW_pO "</table><br>";
# Now the weblinks
Der Code erwartet das die Datei del.png im Verzeichnis /www/images/default oder dem Unterverzeichnis des Styles vorhanden ist.
Das Ergebnis könnte dann z.B. so aussehen.
(siehe Anhang / see attachement)
MfG
Volker[/font]
-
Hallo Volker,
hab soeben deine Ergänzung zum 01_fhemweb ausprobiert.
Leider kommt folgende Fehlermeldung im log und das WebIF startet nicht mehr!
Illegal declaration of subroutine main::FW_showRoom at /usr/share/fhem/FHEM/01_FHEMWEB.pm line 1216, <$fh> line 20.
Vielleicht findest ja den Fehler.
-
Kannst du mir die modifizierte 01_Fhemweb schicken?
-
Habs wieder rückgängig gemacht!
Wahrscheinlich wars ein Fehler von mir, dachte ich kann das 1:1 so einfügen!
Geht aber so nicht?
-
Sollte aber so gehen, ich habe auch nur die Zeilen reingeschrieben. Hast du alle Zeilen mit Semikolon beendet?
MfG
Volker
-
habs von hier kopiert und eingefügt.
Ist egal an welcher Stelle?
-
Hallo Dieter,
du must es schon an genau die angegebene Stelle kopieren. Deshalb habe ich ein paar Zeilen mehr angegeben .
Die genaue Zeile kann ich dir nicht sagen da ich noch andere Stellen angepasst habe.
-
Hi Volker,
habs jetzt geschafft den Code an der richtigen Stelle einzufügen!
Jetzt bräuchte ich nur noch das richtige Icon!
Das was du oben als Del_But.png verlikt hast ist leider der Bildschirmausschnitt von weiter oben!
-
Hallo Dieter,
das sollte auch so sein mit dem Link.
Aber ich hänge dir gerne das Icon an.
-
Vielen Dank noch mal, auch für das Icon!
-
Cool hoffe das wird mal fest eingebaut ;)
-
Hier mal einige Verbesserungen.
} elsif($type eq "FileLog") {
$icon = FW_makeImage('del') . " ";
FW_pO "<td><a href='/fhem?cmd=delete%20$devName'><div class='Del'>$icon</div></a></td>";
$row = FW_dumpFileLog($d, 1, $row);
}
}
# FW_pO "</td>";
if ($type ne "FileLog") {
$icon = FW_makeImage('del') . " ";
FW_pO "<td><a href='/fhem?cmd=delete%20$devName'><div class='Del'>$icon</div></a></td>";
}
}
FW_pO "</table>";
FW_pO "</td></tr>";
}
FW_pO "</table><br>";
# Now the weblinks
***** Funktion für Logzeilen auch ändern
sub
FW_dumpFileLog($$$)
{
my ($d, $oneRow,$row) = @_;
foreach my $f (FW_fileList($defs{$d}{logfile})) {
my $nr;
if($oneRow) {
pF "<tr class=\"%s\">", ($row&1)?"odd":"even";
pF "<td><div class=\"dname\">$f</div></td>";
}
foreach my $ln (split(",", AttrVal($d, "logtype", "text"))) {
my ($lt, $name) = split(":", $ln);
$name = $lt if(!$name);
if(!$oneRow) {
pF "<tr class=\"%s\">", ($row&1)?"odd":"even";
pF "<td><div class=\"dname\">%s</div></td>", ($nr ? "" : $f);
}
FW_pH "cmd=logwrapper $d $lt $f",
"<div class=\"dval\">$name</div>", 1, "dval";
pF "<td><div class=\"dname\"></div></td>", ($nr ? "" : $f);
if(!$oneRow) {
FW_pO "</tr>";
$row++;
}
$nr++;
}
if($oneRow) {
FW_pO "</tr>";
$row++;
}
}
return $row;
}
*************************
Zum ausrichten der Buttons am rechten Rand des table folgende Zeile in eurer *.CSS Datei einfügen
/*Delete Button*/
.Del img {float: right;}