XF2.1 Tipps für das Link Directory (LD2)

Helga78

Bekanntes Mitglied
Lizenzinhaber
Registriert
30. Jan. 2014
Beiträge
757
Punkte
68
Achtung! Dieser Text ist nur für Leute gedacht, die bestimmte Notwendigkeiten rund um das LinkDirectory2 haben und auch im Quellcode arbeiten können und wollen.

Beim "mass import" darf keine doppelte URl im Text sein, das System bricht sonst ab.
Abhilfe schafft ein "return;" in Job > InsertUrl.php nach // print_r(errors); Zeile 70

Leider fehlt die Möglichkeit viele URLs in die DB zu schieben, ohne die Screens zu holen?
Darum kommentiert man ab Zeile 75 - 87 aus, damit die URLs relativ zügig in der DB landen. Dies klappt allerdings nur dann falls das LD2 die Abholung neuer Screens per cron implementiert hat, soweit bin ich noch nicht. Alternativ muss man sich diesen cron selbst schreiben.

Der Import klappt hierüber leider nicht für alle Seiten, manches wird nicht angenommen, weil keine Daten der Seite geholt werden können. Hier hilft ein // if titel =="", dann Titel ="_nachbearbeiten" o.ä. //
hiernach sortiert, kann man manuell nachbessern.

Ich habe noch nicht geprüft, ob das alles nur am Titel festgemacht wird oder ob der Status der Ziel_URL abgeholt wird zur Entscheidung, ob die URL rein darf oder nicht.

In XF1 wurden Daten der Seite ebenfalls bei Google geholt, hier sind es scheinbar zwei Vorgänge, einmal Title/Description, einmal Bild.

Bei der Ausgabe der nicht angenommenen URL empfiehlt es sich diese als Linkliste ausgeben zu lassen, damit man sie einzeln schnell abdrücken und sichten kann.

Den Avatar könnte man ändern wollen, er wird mit border-radius: 50% ausgegeben wie alle Avatare, was zu ovalen Bildchen führt. HTML für den Avatar wird in Listener.php geschrieben, für den Fall, dass jemand den Code in einem Template sucht:

Code:
        if (!$link->image_date)
        {
            return "<span class=\"avatar avatar--linkImageDefault\"><span></span><span class=\"u-srOnly\">" . \XF::phrase('ld_link_image') . "</span></span>";
        }
        else
        {
            $src = $link->getImage();

            if (!$link->isThumbnailAvailable())
            {
                return "<span class=\"avatar avatar--linkImageDefault\"><span></span><span class=\"u-srOnly\">" . \XF::phrase('ld_link_image') . "</span></span>";
            }

            return "<span class=\"avatar avatar--{$size}\">" . '<img src="' . htmlspecialchars($src) . '" alt="' . htmlspecialchars($link->title) . '" /></span>';
        }


(...)

Um das Problem mit den fehlenden Titeln zu beheben, lese ich alle URLs nochmals im Format
url|timestamp|title|Beschreibung in ein externes Script, suche die jeweilige URL und erstze title und Datum des Eintrags.

Die bessere Lösung aber wird sein sowieso ein externes Script zu nehmen mit dem man zeilenweise URL plus weitere Daten in die Tabelle schaufelt um danach die Bilder zu holen oder ebenfalls per Script mit dem richtigen Namen an den richtigen Ort zu schieben.

Der cronjob um Bilder zu holen steht übrigens auf 30, 40, 50 (Minute);

Ich ahne mal, dass keine Prüfung für Umlaute eingebaut ist, auch da muss ein Script ran, was alle kryptischen Zeichen in title und description ersetzt. Mit

UPDATE tabelle SET spalte = REPLACE(spalte, Suchstring, Ersatzstring)

kommt man hier weiter.
 
Mittlerweile gibt es jede Menge Hilfsscripte und auch externe Programme mit denen man das LD noch besser nutzen kann.
Bei Interesse gerne per PN nachfragen.
 
Der Sinn einer nicht geschlossenen Gemeinschaft ist der offene Dialog.

Wenn es sich nicht um illegale Weitergabe von Software / Skripten handelt, verstehe ich die Geheimniskrämerei nicht.

Dafür gibt es hier ja eigentlich den Ressourcenmanager.
 
Zurück
Oben