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

Dieses Thema im Forum "Vorschläge für Add-ons" wurde erstellt von Robert9, 12. Apr. 2019.

  1. Robert9

    Robert9 Aktives Mitglied Lizenzinhaber

    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 (Text):
            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.
     
  2. Robert9

    Robert9 Aktives Mitglied Lizenzinhaber

    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.
     
  3. Goliath

    Goliath Aktives Mitglied Lizenzinhaber

    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.
     
    otto, McAtze, thomas1 und 2 anderen gefällt das.
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden