Fehlerhaftes Löschen

Mehr
08 Sep 2020 17:53 - 08 Sep 2020 18:26 #4553 von Fido
Fehlerhaftes Löschen wurde erstellt von Fido
Eigentlich betrifft mein Problem sowohl die Rubrik "Formular" wie auch "Listen". Hab es mal hierher gepackt.

Ich versuche mich derzeit am Bau eines Forums für registrierte Mitglieder. Sicher, so etwas gibt es bereits als fertige Komponente. Dennoch ist es mal interessant, es selbst mal mit SEBLOD® zu versuchen.

Die Anmeldung neuer User erfolgt derzeit über das von SEBLOD® bereits mitgelieferte Formular. Am Rande vermerkt sei, daß der User-Name über Concat aus Firstname und Lastname gebildet wird. Als User-User-Name zur Anmeldung wird die E-Mail-Adresse des Users verwendet. Wichtig ist noch der Avatar, der derzeit erst einmal nur im Backend hochgeladen werden kann.

Weiterhin habe ich ein Formular für die Beiträge und eine Liste mit den Beiträgen angelegt.

Das Beitragsformular enthält eine Reihe von Feldern, die hier nicht wichtig sind. Wichtig sind hier nur die Felder „Autor“ und „Profilbild“.



„Autor“ ist ein einfaches Textfeld und „Profilbild“ ist ein Upload-Bild-Feld. Damit der aktuelle User als Autor und sein Bild hier eingetragen werden, habe ich unter #2 (rechts) und unter Link jeweils „Benutzer“ gewählt. Bei der Konfiguration habe ich bei Benutzer „aktuell“ und bei Porpery „user_name“ bzw. „user_avatar“ gewählt.



Das funktioniert soweit auch zuverlässig und beide Felder werden immer ausgefüllt, egal wie viele Beiträge geschrieben werden. Die anderen Felder des Formulars sind bei meinem Problem uninteressant.

Weiterhin habe ich eine Beitragsliste angelegt, in der jeweils in einer Spalte der jeweilige komplette Beitrag mit allen wichtigen Feldern aus dem o.g. Formular zu sehen ist. Zusätzlich habe ich dem jeweiligen Autor mittels zweier Icons die Möglichkeit gegeben, den Beitrag zu editieren oder auch gänzlich zu löschen.



Und jetzt kommt das bisher unlösbare Problem. Nutzt man die Löschfunktion (SEBLOD® ->Listen, in Listenansicht:#2 und dann "Löschen"), wird der Beitrag auch tatsächlich gelöscht. Allerdings wird auch das Profilbild / der Avatar in allen anderen Beiträgen gelöscht. Und nicht genug davon, der Avatar wird auch in der Benutzerverwaltung gelöscht. Das Bild ist zwar in der Liste der Images unter Joomla-Medien noch vorhanden, ist aber ansonsten nicht mehr nutzbar. Muß den Avatar dann erst wieder neu hochladen, damit er in Zukunft wieder verwendbar ist. Bei den Beiträgen, in denen er bereits entfernt wurde, kann man ihn nur mittels Öffnen und neu speichern im Backend zurück holen.




Obwohl „Profilbild“ und Autor im Formular die gleichen Einstellungen haben, betrifft das Löschen nur das Profilbild in allen Beiträgen, nicht aber den Autor.

Ich hoffe, ich habe alles einigermaßen verständlich beschrieben und noch mehr hoffe ich, daß irgendjemand die geniale Lösung hierfür hat. Vielen Dank im Voraus. Ich füge mal ein paar Screenshot bei.

Fido
Letzte Änderung: 08 Sep 2020 18:26 von Fido.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
10 Sep 2020 21:13 #4554 von nscnsc
nscnsc antwortete auf Fehlerhaftes Löschen
Hi Fido,

sehr geil, coole Einstellung, selber mal mehr versuchen.

Helfen kann ich dir bei deinem genauen Problem gearde nicht.

Ich habe aber bei ähnlichen Aufgaben die User-Angaben mit dem Form & List Pack in die Beiträge bzw. Listenansichten gezogen.
Man kann mit dem List-Plugin eine Liste der User holen und das so konfigurieren das nur der jeweilige Autor des Beitrags oder Kommentars angezeigt wird.

Beim Löschen wird dann auch nur der Beitrag gelöscht und nix von den Userdaten.

Ist aber auch nix für zwischendurch und schwache Nerven wenn man das noch nicht gemacht hat.

Gruß Torsten

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
10 Sep 2020 23:17 #4555 von Fido
Fido antwortete auf Fehlerhaftes Löschen
Hi Torsten,

danke, das ist ein interessanter Ansatz, den ich am WE mal nachgehen werde. Ob es hilft, wird sich zeigen.

Ich habe eben mal geschaut, was bei dieser komischen Aktion beim Löschen tatsächlich passiert und war sehr erstaunt. Es wurde nämlich unter "Medien" der gesamte Bilderordner zu dem jeweiligen User gelöscht, dessen Beitrag eigentlich nur gelöscht werden solte.

Fido

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
20 Sep 2020 11:21 #4556 von Fido
Fido antwortete auf Fehlerhaftes Löschen
Mir ist gestern im Zug nach Inca eine Idee gekommen, die ich gleich am Abend umgesetzt habe und die wahrscheinlich ist Lösung des Problems zu sein scheint.

Ursprünglich war ich der Ansicht, daß man ein Profibild nur mittels eines SEBLOD®-Feldes für Bilder darstellen kann. Daher habe ich für das Profilbild auch diesen Feldtypen verwendet und über #2 einen Link zu Benutzer festgelegt. In der Konfiguration hierzu habe ich „aktuell“ für den aktuellen Benutzer gewährt und bei Property „user_avatar“ eingetragen. Das funktionierte sogar, obwohl richtigerweise der Spaltenname aus der Datenbank, also nur „avatar“ hätte verwendet werden müssen. Das ging so lange gut, bis ein Beitrag einmal gelöscht werden sollte. Bei der obigen Konstellation ging der gesamte Bildordner des Users im Verzeichnis „images“ verloren.

Das SEBLOD®-Feld „Bild“ ist wahrscheinlich das einzigste Feld, welches an 2 Orten speichert. Einmal wird die Bilddatei im Verzeichnis „images“ gespeichert und zusätzlich wird ein Link zu diesem Speicherort in der Datenbank gespeichert. Wenn man nun auf ein bereits vorhandenes Bild verlinkt, wie z.B. den User Avatar und dabei das SEBLOD®-Feld „Bild verwendet, erfolgt die Speicherung des Inhalts dieses Feldes nur in der Datenbank. Eine nochmalige Speicherung der Bilddatei im Verzeichnis „Images“ erfolgt nicht. Löscht man nun den Beitrag mit dem Profilbild, wird der Link in der Datenbank zum „User-Avatar“ gelöscht. Da aber keine Bilddatei vorhanden ist, die ebenfalls gelöscht werden kann, scheint SEBLOD® zum Image-Ordner des Users zu springen und löscht dort alles, was darin steht. Das ist aber nicht Sinn der Übung. Also mußte was anderes her.

Ich habe nunmehr aus dem SEBLOD®-Feld „Bild“ ein einfaches „Textfeld“ gemacht. Im Formular- und Inhaltstypen habe ich ebenfalls über #2 „Benutzer“ gewählt und in der Konfiguration steht nach wie vor „aktuell“ und „avatar“, wie oben schon.

Da die Beiträge bei mir in einer Liste dargestellt werden, bin ich nun in die Listen- und Suchtypen gegangen und habe dann unter „Liste“ ebenfalls die #2 gewählt. Dort wird dann unter „Typografie“ der Punkt „Bild“ gewählt und über das + konfiguriert. Da man als „Standard“ nur das Originalbild verwenden kann (mit den Thumbs geht es bei mir nicht), habe ich dort „Bild“ gewählt. Damit alle Profilbilder die gleiche Größe haben, habe ich bei Breite und Höhe “fixiert“ gewählt und meine festen Werte eingetragen.

Ein wiederholter Test mit Löschen eines Beitrages ergab das positive Resultat, daß der Avatar des gleichen Users in den anderen Beiträgen nicht gelöscht wurde. Eigentlich ganz einfach, doch manchmal denkt man völlig falsch.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum