Beiträge von Re:Later

    Mit dieser Methode bekommst du raus, welche Erweiterung es ursächlich ist.

    Fehler finden durch detailliertere Fehlermeldung. Debug-Modus. Call stack.


    Und falls nicht Core-Dateien fehlen, handelt es sich wohl um eine veraltete Joomla-Version, vermutlich vor 3.8.


    Die Meldung verweist auf die fehlende Datei /libraries/src/Plugin/CMSPlugin.php


    "Moderner programmierte" Plugins benötigen diese. Diese enthalten die Zeile

    Code
    1. class PlgUndsoweiterWasWeissIch extends CMSPlugin

    also "extends CMSPlugin"

    Hm, versteh nicht. Du hast nach einer Variablen gefragt mit der man in deinem Template eine Weiche für "nur Startseite" einsetzen kann. Zumindest habe ich das so verstanden.


    Variable $isfront meines Schnipsels ist true, wenn du auf der Startseite bist. Baust irgendwo an den Anfang deiner Template-index.php ein. Kannst also später (auch mehrere) Blöcke in der index.php setzen der Art

    Code
    1. if ($isfront === true)
    2. {
    3. // Tu was, was nur auf der Startseite sein soll.
    4. }

    2.) und Linkname. Keine Ahnung, was du meinst. Welcher Link denn?



    Aber, wenns mein eigenes Template wäre, bastel ich mir eine eigene Modulposition rein, die ich halt über Menüzuweisung in einem passenden Modul, z.B. "Eigenes Modul" (blöder Name, nebenbei) nur auf Startseite anzeige. Wenn ich Wert darauf lege, dass exakt das HTML von deinem Link drin sein soll.


    Das ist alles nicht besser oder schlechter als die Vorschläge, die die anderen schon gemacht haben. "Viele Wege, Rom usw.". Und irgendwann Geschmackssache, was man wann anwendet ;-)

    Weil deine Beschreibung nicht ganz klar ist:

    - Wenn du die default.php nur in den Override-Ordner html/mod_articles_news/ kopierst, wird unter Layout keine weiteres Layout angezeigt.

    - Wenn du die kopierte Datei umbenennst, z.B. nach meinoverride.php dann ja.

    - Bei der Benennung muss man bestimmte Dinge vermeiden. Da ich zu faul bin: alles Kleinschrift und ohne Bindestriche und Kram.

    Nun möchte ich gern direkt im Templet einen Bereich einbauen welcher aber nur auf der Startseite zusehen ist.

    Gibt es dafür eine php Variable?

    Nur der Vollständigkeit halber. Muss man sich selber erstellen:

    Code
    1. $isfront = false;
    2. $menu = JFactory::getApplication()->getMenu();
    3. if ($menu->getActive() === $menu->getDefault(JFactory::getLanguage()->getTag()))
    4. {
    5. $isfront = true;
    6. }

    Du wirst es nicht gerne hören:


    Das Zusammenschieben des HTML ist normal und man kann auch nichts dagegen machen. Ich weiß auch nicht, ob das JCE ist oder generell der Fall in Joomla. Irgendwann hatten wir das Thema schon hier im Forum.


    Und die vielen SPANs. Im Normalfall sollte man halt nicht im Editor so viel rumformatieren. Warum Schriftgrößen und/oder Farben für Links extra im Editor eingeben? Eiiiiiigentlich macht man das über CSS-Klassen (wenn überhaupt). Aber natürlich auch erst mal aufwand sich eine CSS-Datei für den Editor zu erstellen.


    Solche Formatierungen wie bei dir zu sehen, machen den Gesamteindruck der Website nur unruhig, weil man sich beim nächsten Beitrag nicht mehr erinnert, wie man das beim letzten gemacht hat.


    Auch solche Einrückungen

    Code
    1.    &nbsp

    führen in responsiven Zeiten meist zu "Katastrophen". Auf kleineren Bildschirmen z.B.


    Generell bereinigen kannst du mit diesen beiden Knöpfen. Man sollte vorher den Bereich markieren, weil sonst alles bereinigt wird.


    Bei extremen "Katastrophen", wo aber nur ein Teil raus soll, weiche ich auf einen anderen Editor, z.B. Notepad++ aus, und mache da meine Überarbeitung. Und Copy&Paste dann immer hin und her.

    und somit überhaupt kein Override mehr

    Bist du dir da sicher? Wie gesagt, ein so genannter Override kann schon vorher da sein. Ohne, dass du was tust.

    Schau in den UnterOrdner deines Templates html/com_content/category/.


    Dein Weg mit Overrides ist schon richtig. Ich kenne mich halt mit JoomlaPlates-Templates nicht aus, wenn ich nicht selbst davor sitze. Die verwenden ihre eigene Frameworks, oft das so genannte "Warp". Das gibts in verschiedenen Versionen.


    Deshalb mein Hinweis oben:

    Es gibt z.B. Template-Frameworks, da stehen in den Overrides nur 2, 3 Zeilen und man muss sich dann in der Dokumentation zum Template schlau machen, wie man nun overrided.

    Und der Hinweis, mal ganz plump zu machen:

    Versuchsweise kannst den Override vom Template erst löschen (zuvor sichern), alle andern von dir auch, und legst dann einen neuen an.

    Das meint:

    - Schau in den UnterOrdner deines Templates html/com_content/category/.

    - Falls da was mit "default" rumliegt => Alles Löschen oder umbenennen, so, dass vorne(!) nicht mehr "default" steht.

    - Dann im Backend, wie schon gemacht, einen neuen Override anlegen.

    - Dann im Frontend testen, ob der geladen wird. Siehe Post #2 hier: Frage zu Template Overrides

    Bei dir in der neu angelgten Datei default_articles.php

    Sobald ich auf Overrides erstellen gehe, legt Joomla mir doch von den betroffenen Dateien eine Kopie mit Zeitstempel an. Ich dachte immer

    Siehe hier ab Post #3 zur Klärung.

    Frage zu Template Overrides

    Komischerweise sieht nun die default_articles.php anders aus als vorher. Es ist kein Code mehr enthalten, der die Tabelle für die Kategorieliste anlegt

    Das ist einerseites der Segen von Overrides, andererseits das Übel. Jeder darf in den Override reintun, was er will.

    Es gibt z.B. Template-Frameworks, da stehen in den Overrides nur 2, 3 Zeilen und man muss sich dann in der Dokumentation zum Template schlau machen, wie man nun overrided.


    Versuchsweise kannst den Override vom Template erst löschen (zuvor sichern), alle andern von dir auch, und legst dann einen neuen an.

    default_articles_xxxxxxx.php

    Wenn das xxxxxx ein Datumsstempel ist, war vorher schon ein Override vorhanden im Template. Ändern musst default_articles.php, egal was da sonst noch so rumdümpelt.


    Bei einem schnellen Test ist bei mir

    $article->jcfields

    auch leer, obwohl der Beitrag massig Schlagworte hat. Das ist dann aber das nächste Problem, falls bei dir auch. Man müsste das dann wohl erst aus $article->tags irgendwie extrahieren.


    Und das mit der Überschrift

    PHP
    1. <th scope="col" id="categorylist_header_lokation"><?php echo $article->jcfields[17]->label; ?></th>

    wird mit Sicherheit nicht klappen, weil das außerhalb des foreach liegt, wo $article definiert wird.

    Das ist der Router-Geist.

    Code
    1. zwar-kamp-lintfort.de/2-uncategorised/

    zeigt eine leere Kategorie.

    Code
    1. zwar-kamp-lintfort.de/2
    2. zwar-kamp-lintfort.de/2-uncategorised/2
    3. zwar-kamp-lintfort.de/2/2
    4. zwar-kamp-lintfort.de/2-gruppe
    5. zwar-kamp-lintfort.de/2-ganz-egal-was-man-tippt

    und viele weitere Variationen zeigen den leeren Beitrag im "Gewand" der Startseite.


    Was mich wundert, ist, dass der im Backend nirgends zu finden sein soll. Vielleicht zur Sicherheit im Backend unter Beiträge > Suchwerkzeuge erst den Status-Filter auf "Alle" und dann in das Suchfeld eingeben "id:2" (ohne Gänsefüsschen).

    Stellt sich mir zuerst die Frage, warum man eine AGB nicht ausdrucken darf. Glaub nicht, dass das rechtens ist. Etwas schräger Umgang mit Kunden ;-)


    Dann stellt sich mir die Frage, wenns schon so diktatorisch abläuft, warum die AGB, wenns doch eh schon ein mehrseitiges Formular ist, nicht einfach als letzte Formularseite angezeigt wird, ohne PopUp, und man halt runterscrollen muss um auf "Weiter" zu kommen oder so.


    Wird dir nicht helfen:


    Was Fertiges kenne ich nicht für PopUp.

    Mach das PopUp so, dass es nur unten am Ende des Texts einen Schließen-Knopf hat.

    Ich verwende für so was die Venobox (im Zusammenspiel mit einem "Eigenen Modul"-Layout), da die Vb auch einen Parameter "overlayClose => false" hat, der das Schließen bei Klick auf Hintergrund verhindert. Und den Venobox-Close-Button vertecke ich einfach mit CSS oder Venobox-Parametern

    'titleBackground' => 'transparent',

    'titleColor' => 'transparent',

    'closeBackground' => 'transparent',

    'closeColor' => 'transparent',

    'overlayClose' => false


    Und mein eigener Schließen-Button hat dann halt JavaScript um das PopUp zu schließen.


    Letztlich sollte das aber ähnlich, wahrscheinlich leichter auch mit einem Bootstrap-Modal gehen, wo man ja das Close beliebig selbst ins HTML einsetzt. Weiß ich aber nicht auswendig, obs einen Parameter für "Nicht Schließen bei Klick auf Hintergrund" gibt.

    Ja, die Prüfung ist etwas sonderlich wegen dieser in Teilen etwas übertriebenen Furcht vor preg_match-Verwendung in Programmiererkreisen ;-)

    und ich muss jedes mal wieder im Joomla-Code kramen, wies nun geht:


    Du musst in diesem Fall simpel eingeben

    Code
    1. gmail.com

    wenn die Email z.B. fritz @ gmail.com blockiert werden soll.


    Oder

    Code
    1. gmail.*

    wenn dann auch gmail.de blockiert werden soll.


    Das blockt auch

    Code
    1. gmail-test@fritz.gmail.de

    Man müsste DANACh ein erlaubt für

    Code
    1. fritz.gmail.de

    oder

    Code
    1. fritz.gmail.*

    hinzufügen, damit die dann erlaubt ist.

    Dass du das nicht auf der Startseite siehst, liegt daran, dass du da keine Fremdinhalte eingebunden hast, die Cookies schreiben. Keine Werbung, Videos, Ads und Zeugs.


    Meine Interpretation:


    Das ist derzeit lediglich eine Warnung. Wie man sehen kann, geht es teils um Cookies von Google selbst. Ich seh das so, dass Google und die anderen, die da diese noch nicht korrekt "markierten" Cookies schreiben, dann auch zukünftig selbst dafür zuständig sind, ihre Cookies so im Browser zu schreiben, dass sie im Chrome-Browser diese Warnungen nicht mehr erzeugen.


    Ich würde also einfach mal abwarten. Irgendwann Anfang/Mitte Februar blockiert dann Chrome die Cookies, die noch nicht korrekt sind.

    Probier erst mal, falls Du noch ins Backend kommst:

    Erweiterungen > Verwalten > Installieren > dort der Tabulator "Von URL installieren"

    Dort einfügen und installieren:

    Code
    1. https://gruz.ml/en/extensions/gjfields-self-reproducing-joomla-jform-fields/1-2-15-stable/j3_lib_gjfields_1_2_15_stable-zip.zip

    Falls immer noch Fehler: Unter Erweiterungen > Verwalten nach "readmore" suchen und (wenigstens) dieses Plugin "autoreadmore" deaktivieren. Nicht verwechseln mit Joomlas "Readmore"-Plugin.

    Na ja, "News" können Beiträge sein, mehrere in einem Kategorie-Blog-Layout, dann per Klick ein einzelner News-Beitrag.

    Oder aus einem Modul kommen, das zufällig den Namen "News" im Namen hat.


    Und diverse andere Möglichkeiten in Joomla wasauchimmer anzuzeigen, was man als "News" bezeichnen kann, wenn man lustig ist.


    Also: Wie und mit was zeigst du die "News" an der Stelle an, wo du sie anzeigst ;-) Wo dann die Videos reinsollen...