Seite 1 von 1
[BUG] content_link_list - Link nicht löschbar
Verfasst: Di 18. Feb 2014, 11:03
von rethus
Ich finde keine Möglichkeit, einen über das Modul content_link_list eingegebenen Link zu löschen.
Gehe ich auf den Link, kann ich zwar in dem Verzeichnis "kein" wählen, und den "Link-Title" löschen, dennoch bleibt der Link zum upload-Verzeichnis (in kompletter schreibweise
http://domain.tld/uploads/) dort stehen.
Öffne ich diesen Link erneut, ist auch noch die Selektion von "Kein" im Dateifenster zu sehen.
Hier hat das Modul ein Bug, der scheinbar einige Leichen in der DB zurück lässt. Gut wäre das Modul um einen Löschbutton zu ergänzen, der den Link entfernt.
Re: [BUG] content_link_list - Link nicht löschbar
Verfasst: Di 18. Feb 2014, 11:21
von rethus
Hier ein einfacher Lösungsansatz, ohne Bereinigungs-Funktion in der DB:
In der Datei:class.content.type.linkeditor.php dort in der Funktion generateViewCode() folgendes:
Code: Alles auswählen
// generate the needed attributes
$href = $this->_generateHref();
if (empty($href)) {
return '';
}
ersetzen gegen:
Code: Alles auswählen
// generate the needed attributes
$href = $this->_generateHref();
if (empty($href) || $href == $href == $this->_cfgClient[$this->_client]["upl"]["htmlpath"]) {
return '';
}
Sauberer wäre es, an dieser Stelle die gefundene Leiche aus der DB auch direkt zu entfernen, nur fehlt mir hier leider gerade die Zeit dazu. Daher nur dieses Feedback mit Bitte, dass in dem Modul (zum nächsten Release) zu optimieren.
Re: [BUG] content_link_list - Link nicht löschbar
Verfasst: Di 18. Feb 2014, 11:46
von rethus
Hier noch ein Verbesserungsvorschlag für das Modul (also in Style→Module→content_link_list):
vor $tpl->display('get.tpl'); noch folgendes einfügen, damit das Template gar keine HTML-Container erstellt, wenn keine Inhalte vorhanden sind:
Code: Alles auswählen
if(cRegistry::isBackendEditMode() || count(array_filter($val))>0)
Re: [BUG] content_link_list - Link nicht löschbar
Verfasst: Di 18. Feb 2014, 13:43
von Oldperl
rethus hat geschrieben:Code: Alles auswählen
if (empty($href) || $href == $href == $this->_cfgClient[$this->_client]["upl"]["htmlpath"]) {
Ist das so richtig mit dem 2x $href ==?
Gruß aus Franken
Ortwin
Re: [BUG] content_link_list - Link nicht löschbar
Verfasst: Di 18. Feb 2014, 14:44
von rethus
Ja, für den Nachdruck
Ne, hast natürlich recht, war ein Vertipper, hatte zuvor die cfgClient und $client über globals in die Funktion geholt. Da aber die Klasse diese als Variable besitzt, hatte ich die ersetzt und wohl versehentlich ein href zu viel reingehauen.
So is richtig:
Code: Alles auswählen
if (empty($href) || $href == $this->_cfgClient[$this->_client]["upl"]["htmlpath"]) {
PS: Schade im Forum nur zutierte CODE-Segmente gehighlightet werden. Könnte 4fb doch mal dran schrauben, dass als CODE-Deklarierte Blöcke auch syntax-highlighting aktiviert wird.
Re: [BUG] content_link_list - Link nicht löschbar
Verfasst: Di 18. Feb 2014, 20:44
von Oldperl
rethus hat geschrieben:...dass als CODE-Deklarierte Blöcke auch syntax-highlighting aktiviert wird.
Das geht schon, du must nur im CodeTag ein
=php ergänzen. Wobei der Parser sicherlich etwas besser sein könnte.

Guckst du hier
Code: Alles auswählen
function HighLightMe($inFarbe) {
return ($inFarbe) ? $sAllesSoBunt : FALSE;
}
class machEtBunt extends FarbeImSpiel {
public function __construct() {
echo "Schoen bunt hier";
}
}
ODER
Code: Alles auswählen
if (empty($href) || $href == $this->_cfgClient[$this->_client]["upl"]["htmlpath"]) {
Gruß aus Franken
Ortwin
Re: [BUG] content_link_list - Link nicht löschbar
Verfasst: Do 20. Feb 2014, 10:13
von frederic.schneider_4fb
Hallo Jungs,
danke für die Anregungen. Ich wollte mir gerade Euer Problem ansehen mit der Bereitschaft, die vorgenannten Code-Änderungen ggfls. in den Core zu übernehmen. Dabei wollte ich jedoch erst einmal das Problem nachstellen - und habe festgestellt, dass ich das Problem nicht habe. Vielleicht habe ich Euch aber auch nur missverstanden:
Ich habe in einer Linklist einen internen Link angegeben (Auswahl eines Verzeichnis). Im Anschluss habe ich den Link bearbeitet und habe statt den ausgewählten internen Ordner "Keine" ausgewählt sowie den Linktitel entfernt. Rufe ich danach die Bearbeitung auf, ist es m. E. alles wie es soll: Der Link ist weg. (Bei externen Links verhält es sich ebenfalls wie es soll.) Bitte korrigiert mich, wenn ich mich auf einem falschen Pfad bewege

.
Re: [BUG] content_link_list - Link nicht löschbar
Verfasst: Do 20. Feb 2014, 13:50
von rethus
Bei mir ist es halt so, dass der Link scheinbar nicht wirklich gelöscht wird, sonder nur der Dateiname. Der Pfad zum Upload-Verzeichnis bleibt erhalten, und daher wird auch was im Frontend ausgegeben. Mit der obigen Anpassung läuft es aber sauber (wenn auch die Leiche in der DB immer noch vorhanden ist).
Re: [BUG] content_link_list - Link nicht löschbar
Verfasst: Do 20. Feb 2014, 14:06
von frederic.schneider_4fb
Wie erwähnt: Ich habe Sympathie für Eure Anregung, habe aber auch ohne die aufgezeigten Lösungswege gar nicht das Problem. Habe ich in meinem Reproduzierungsvorgang (siehe Schilderung) irgend etwas "falsch" gemacht?