Beiträge von Re:Later

    Und immer die JavaScript-Fehlerkonsole im Auge haben. Bei mir klappt das nicht am Ende der Seite (ohne größere Aktionen jedenfalls). Sobald eine nachinstallierte Erweiterung Inline-Scripte mitbringt kann's zusätzlich kritisch werden...

    @HaPott
    Weil im "andern Forum" Frage aufgetaucht ist: Wie hast du eigentlich JCH Optimizer überredet, das JavaScript an das Ende der Seite zu setzen?


    EDIT: Entschuldigung, schlechte Augen. Gefunden: Automatic Settings Group > Manage combined files

    ich habe wohl die Banner Komponente Deinstalliert. Wie bekomme ich die jetzt wieder installiert ?


    Über Erweiterungen > Erweiterungen > Überprüfen > installieren


    Wenn deinstalliert, muss man das entpackte FULL-Joomla-Paket ohne Ordner /installation/ erst noch per FTP hochladen/drüber kopieren. Nach Deinstall verbleibt zwar einiges auf dem Server von com_banners, aber wohl nicht ausreichend (hab ich grad gelernt).

    Von welcher von dir zusätzlich installierten Komponente stammt die sql-Tabelle?


    com_banners ist eine Core-Komponente. Deinstallieren/neu installieren nicht so einfach (geht natürlich, aber nicht per simplen Klick).

    Und was erwatest Du jetzt von Supportern. ohne Link, HTML, CSS für beide Fälle? Wie germanis bereits sagte, das sind Bootstrap-Klassen, die dir, wenn Bootstrap-CSS geladen ist, alles formatieren (ob es nun gefällt, andere Sache). Wenn nicht, musst Du halt umschreiben, wobei Du darauf achten musst, dass
    .pager, .pull-right, .nav-tabs
    sozusagen Bootstrap-Core-CSS-Klassen sind, die an diversen anderen Stellen ebenfalls verwendet werden. Musst sie also speziell für deine Container in der CSS formulieren.
    Nicht direkt
    .pull-right{...}
    sondern
    .umschliessenderContainer .pull-right{}
    o.ä.


    #article-index ist jetzt .article-index


    Was die Klassen bootstrapseitig machen, findest du im Protostar-Template > template.css.


    Ein Override ist für Plugin pagebreak derzeit noch nicht möglich. Musst also mit den Klassen leben und sie anpassen.

    Gemeint ist hier NICHT die sogenannte "Inhaltssprache", die bei mehrsprachigen Seiten (mit Flaggen zum Klicken und so) benötigt wird, sondern die etwas merkwürdig betitelte "Installierte Sprache". Diese enthält Übersetzungen für Menüs, Formularfelder, Beschriftungen usw. usf.


    So geht's (neuere Joomla-3-Versionen)

    • Melde Dich im Joomla-Backend an.
    • Menü > Extensions > Language(s) > Button "Install Languages" klicken > In das Suchfeld "german" eingeben und Suche starten > Button "Install" klicken. Jetzt ist die zusätzliche Sprache in Joomla installiert.
    • Menü > Extensions > Language(s) > Links im Menü auf "Installed" gehen > Im Filterfeld über der Liste "Site" wählen. Klick auf Sternchen in Spalte "Default", um Deutsch/German zur Standardsprache für das Frontend zu machen. Das Sternchen wird gelb.
    • Menü > Extensions > Language(s) > Links im Menü auf "Installed" gehen > Im Filterfeld über der Liste "Administrator" wählen. Klick auf Sternchen in Spalte "Default", um Deutsch/German zur Standardsprache für das Backend zu machen. Das Sternchen wird gelb.
    • Sollten jetzt die Menüs nicht in Deutsch sein, sondern immer noch in Englisch, von Joomla abmelden und neu anmelden. Das hakelt(e) ganz gelegentlich mal...

    So geht's (ältere Joomla-3-Versionen)

    • Melde Dich im Joomla-Backend an.
    • Menü > Extensions > Language Manager > Button Install Languages klicken > Auf den Button Find languages klicken > In das Suchfeld german eingeben und Suche starten > Button Install klicken. Jetzt ist die zusätzliche Sprache in Joomla installiert.
    • Menü > Extensions > Language Manager >Links im Menü auf Installed-Site gehen > Klick auf Sternchen in Spalte Default, um Deutsch/German zur Standardsprache für das Frontend zu machen. Das Sternchen wird gelb.
    • Menü > Extensions > Language Manager >Links im Menü auf Installed-Administrator gehen > Klick auf Sternchen in Spalte Default, um Deutsch/German zur Standardsprache für das Backend zu machen. Das Sternchen wird gelb.
    • Sollten jetzt die Menüs nicht in Deutsch sein, sondern immer noch in Englisch, von Joomla abmelden und neu anmelden. Das hakelt ganz gelegentlich mal...


    Und wieso nicht gleich ein deutsches Joomla-Paket installieren?
    Weiß ja jeder, das Joomla-Installations-Paket sollte ausschließlich hier http://www.joomla.org/download.html oder hier (das neueste mit einem grünen Label) https://github.com/joomla/joomla-cms/releases heruntergeladen werden. Keinesfalls Pakete, die z.B. Provider anbieten (Software-Installer), "weil die so praktisch und gleich in Deutsch sind". Da kann immer wieder später was schief gehen. Nicht der Sprache wegen, sondern, weil jemand am Paket "rumgeschraubt" hat.


    Das originale Installations-Paket enthält nur die Englische Sprache. Die Joomla-Installation selber läuft trotzdem in Deutsch ab.


    Die deutsche Sprache (wie jede andere auch) für Backend und Frontend ist schnell im Backend eingerichtet, ohne, dass man Sprachpakete suchen oder herunterladen muss etc. pp.. Bei dieser "hauseigenen" Variante kann man zudem sicher sein, dass die nachinstallierten Sprachpakete aus vertrauenswürdigen Quellen stammen und, dass man das passende Paket verwendet (was immer mein Problem war undist, wenn ich selber irgendwo downloade ;) :(


    Denke, so sollte das passen.

    Sicherlich seltener benötigt, aber es besteht in Joomla 3 die Möglichkeit PHP-Konstanten aus /includes/defines.php "erlaubt"/updatesicher zu überschreiben.


    Also Dinge wie JPATH_BASE, JPATH_THEMES, JPATH_PLUGINS usw.
    Man kann so auch eigene, dann global geltende PHP-Konstanten hinzufügen, was ich weitaus interessanter für meine Arbeit finde.


    Der Override:

    • Kopiere Datei /includes/defines.php in das Wurzelverzeichnis deines Joomlas.
    • Füge Zeile define('JPATH_BASE', __DIR__); an den Anfang ein.
    • Füge Zeile define('_JDEFINES', 1); am Ende der Datei ein. Damit verhinderst du doppeltes Laden, was zu einer PHP-Warning führen würde.

    Im Backend funktioniert das nach dem selben Schema. Dort dann mit Datei /administrator/includes/defines.php, die man nach /administrator/defines.php kopiert.


    Oder nur eigene Konstanten hinzufügen, statt Joomla-Konstanten überschreiben?

    • defines.php "leer" anlegen
    • Eigene Konstanten definieren
    • O.g. 2 Zeilen weglassen(!), damit Joomla seine Konstanten zusätzlich und konfliktfrei laden kann.

    Den Satz verstehe ich nicht:

    Wenn ich aber im Beitrag eingebe:
    <div class="span6"> für die anderen halt: <div class="span3">


    Also, du willst (hoffe ich) ein Bloglayout mit spans 6-3-3 statt spans 4-4-4.


    Ein Override ist kein Drama: Besser: Ein eigener Menüeintragstyp. Klingt kompliziert, ist aber gar nicht.


    Ich schreibs mal ausführlich, auch für andere, die nicht so bewandert sind:


    - Kopiere aus /components/com_content/views/category/tmpl/ ALLE Dateien, die mit blog beginnen, also auch die blog.xml nach
    /templates/DEINTEMPLATE/html/com_content/catgory/


    - Dann benennst du alle Dateien um, so, dass sie statt mit blog mit blog633 beginnen.


    - Jetzt öffnest du die blog633.xml und machst im Block <layout> folgende Änderungen (3x BLOG633 statt BLOG):



    - Jetzt gehst du ins Backend. Und findest im Menüeintrag im Auswahlfeld Menüeintragstyp unter Beiträge deinen neuen Menütyp COM_CONTENT_CATEGORY_VIEW_BLOG633_TITLE. Wählst du also aus und machst deine Einstellungen 0/10/3/0 im Tabulator Blog-Layout.


    - Dann bearbeitest Du Datei blog633.php. In Zeile 74 findest Du

    PHP
    <?php if (!empty($this->intro_items)) : ?>


    Mit dieser Zeile geht es los unten im Spoiler.


    - Etwas darunter fügst du 1x einen Block ein und an einer 2. Stelle änderst du was. Beachte meine HTML-Kommentare EINFÜGEN und ÄNDERN:



    Man könnte jetzt natürlich gleich diesen eigenen neuen Menüeintragstyp um diverse Einstellungen in der XML-Datei erweitern, die das variabler machen, was wie oben beschrieben natürlich nur für Einstellungen mit 3 Spalten klappt (# Spalten: 3).


    Die Sprachplatzhalter wie COM_CONTENT_CATEGORY_VIEW_BLOG633_TITLE kannst du per Sprachoverrides "hübschen", wenn nötig.

    Würde ich ja gern. Aber wie beschrieben funktioniert das nicht, weil man in das Editorfenster nichts reinschreiben kann.


    Wo jetzt? Im repeatable? Das hat generell Probleme, wenn irgendein Feld JavaScript braucht. So weit ich das bisher rausbekommen habe, sind die IDs der Felder, die JQuery und JS ansprechen will, anders aufgebaut, heißen einfach falsch.


    Oder generell kein Editor möglich? Das sollte eigentlich schon gehen.

    Schau ich mir das Suchplugin für Beiträge an (normlae Suche), steht da im Code drin


    Code
    // Filter by language.
    if ($app->isSite() && JLanguageMultilang::isEnabled())
    {
    $query->where('a.language in (' . $db->quote($tag) . ',' . $db->quote('*') . ')')
        ->where('c.language in (' . $db->quote($tag) . ',' . $db->quote('*') . ')');
    }


    Das meint, dass nur Beiträge aus der Datenbank geholt werden, die der aktuellen Sprache entsprechen und solche, die als Spracheinstellung ein "Alle" haben. Wenn die Mehrsprachigkeit der Seite aktiviert ist.


    Andere Plugins habe ich jetzt nicht angesehen.
    Kannst aber mal die anderen Plugins abschalten und schauen, ob das von dir beobachtete Verhalten nur für Beiträgesuche bleibt.
    Ansonsten noch mal die Spracheinstellungen prüfen.

    Joomla bringt ein paar "hauseigene" Templates mit. In Joomla3 sind das z.B. Protostar und Beez3, gelegentlich auch (nicht ganz richtig) Core-Templates genannt.


    Viele kreative Joomla-Benutzer möchten an diesen Templates Änderungen machen, um das Aussehen nach eigenen Wünschen anzupassen, z.B. in der index.php oder in CSS-Dateien usw.

    Bevor man damit anfängt, muss man aber unbedingt eine eigene Kopie des Templates anlegen, damit beim nächsten Joomla-Update die mühsam erstellten Änderungen nicht verloren gehen, nicht überschrieben werden.
    Wäre doch schade...


    Hinweis: Hier ist nicht die Rede von Stilen des Templates, sondern vom Template selbst. Beim Kopiervorgang wird automatisch ein neuer Ordner angelegt und alle Dateien hineinkopiert.


    Das Ganze ist einfach (am Beispiel Protostar):

    • Menü Erweiterungen > Templates. Du landest in der Stile-Übersicht.
    • Klicke dort in der Spalte Template(!) auf den Namen des Templates, das du kopieren willst (also im Beispiel auf Protostar). Nicht in der Spalte Stil klicken!
    • Jetzt bist du in der Ansicht Templates: Template anpassen.
    • Dort klickst du auf Template kopieren und gibst einen eigenen/neuen Template-Namen ein (z.B. Protostartest) und bestätigst die Eingabe. Das neue Template wird erzeugt.
    • Abschließend klickst du auf Schließen, dann links im Menü auf Stile und landest wieder in der Stile-Übersicht.
    • In der Stile-Liste siehst du einen neu angelgten Stil deines eigenen Templates (Protostartest - Standard).
    • Durch Klick in der Spalte Standard machst du ihn zum Standard-Stil für's Frontend und dein eigenes Template wird dadurch im Frontend verwendet.
    • Gelegentlich muss man noch die Einstellungen des alten Template-Stils in den eigenen durch "abspicken" übernehmen, damit es im Frontend identisch aussieht.
    • Deine Dateien, die du anpassen/ergänzen willst, findest du dann auf deinem Server im Ordner /templates/protostartest/
    • Natürlich kannst du viele Template-Änderungen wie gehabt auch für das neue Template im Backend machen. Wie's beliebt...


    Du kannst jedes beliebige Template kopieren, also auch nachinstallierte. Man kann sich so z.B. das installierte Original-Template unverändert halten. Wenn man beim Ändern was "zerschossen" hat, oft ganz praktisch, um neu zu beginnen, ohne lang Rumkopieren oder neu installieren zu müssen.


    Diese kopierten Templates werden von Joomla natürlich auch gleich als neue Erweiterung in der Datenbank installiert. Du findest sie unter Erweiterungen > Erweiterungen > Verwalten, wo du sie deinstallieren, deaktivieren etc. kannst.

    Ja, das Repeatable hat noch einige andere "Macken". Du musst den filter aufs repeatable-Feld setzen. Die andern Felder brauchen gar keinen Filter. Weiß nicht, aber ich würde sie trotzdem setzen, falls es sch um einen "Bug" handelt und zukünftig doch noch geändert wird



    Und alle andern text und textarea-Felder funktionieren bei mir mit filter="safehtml" einwandfrei.


    Nebenbei:
    Jetzt ist es nur so, dass ich als User erwarten würde, dass mir das Modul meine Titel formatiert und ich da nicht mit HTML rummachen muss ;)
    Und zu Beschreibungen wurde dir ja schon empfohlen, vielleicht(?) Editor zu verwenden (auch aus Usersicht).

    Kaum einer der Geschädigten mit dem berühmten "memory limit exceeded" hat später eine zweite negatve Revision verfasst.


    Ich habe seinerzeit eine dementsprechende Warnung/Bewertung im JED geschrieben aufgrund sich häufender Threads, ganz nüchtern und ohne Seitenhiebe und als Bewertung, nicht Bugreport formuliert.


    Diese wurde trotz mehrfacher Umformulierung von JED abgelehnt. Ein "Kollege" schaffte es dann mit seinem Account, einen Hauch einer Warnung zu posten...