Open ortwin20000 opened 4 years ago
Habe die Leichen im Keller entsorgt und neue Beschreibung hinterlegt
Im Prinzip hast du recht, ein Override in den templates durchzuführen, wenn man die richtige Datei erwischt. falsch /templates/meinTemplate/html/com_sportsmanagement/resultsranking/default_explanation.php
richtig /templates/meinTemplate/html/com_sportsmanagement/resultsranking/defaul.php
und dort die Zeilen zu Einbindung der explanation.php ausblenden (zeilen 89 -95)
oder jetzt im Template ranking ausschalten.
Danke aber ich möchte das Template nicht ausblenden sondern anpassen. Welches Override für welche Datei ist das richtige?
/html/com_sportsmanagement/ranking/default_explanation.php
Ok. Dann versuch ich es jetzt noch einmal.
Funktioniert noch nicht: /templates/meinTemplate/html/com_sportsmanagement/ranking/default_explanation.php habe ich geändert aber diese werden mir auf der Webseite nicht angezeigt. Cache ist deaktiviert und der Browser-Cache ebenso. Sobald ich die Original-Datei anpassen funktioniert ist. Somit wird das Override nicht verwendet.
Ich schließe diesen Fall da ich derzeit versuche die bestehende Seite für Joomla 4 fit zu machen und es anscheinend nur bei mir aufgetreten ist.
Ich habe das Thema mit den Overrides wieder probiert aber bei den listheader und footer z.B. funktioniert es nicht. Das liegt daran wie diese geladen werden. Bin jetzt aber endlich fündig geworden wie das behoben werden kann. Ich werde dazu einen Pull-Request erstellen.
Nachtrag: Das Problem liegt an der Methode addTemplatePath in der Helper sportsmanagement.php Den notwendigen Hinweis habe ich hier gefunden.
In der Methode wird mit addTemplatePath() der zu suchende Pfad für die listheader oder gloablviews hinzugefügt. Joomla weiß aber nichts davon, dass es auch im jeweiligen Template nach Overrides suchen könnte. Deswegen muss auch dieser Pfad in der Methode hinzugefügt werden.
Erst damit funktioniert auch für diese Views ein Override.
Muss hier leider wieder aufmachen... Ich habe jetzt festgestellt, dass in einigen Views das Startmenü direkt geladen wird. Dadurch kann hier auch wieder kein Override durchgeführt werden.
In meinem Fall habe ich für die Datei default_4_start_menu.php ein Override erstellt um den Menüpunkt Tippspiel und die Erweiterungen auszublenden da wir dieses nicht im Einsatz haben. Wenn ich auf der Startseite bin funktioniert es auch:
aber wenn ich dann z.B. die aktuelle Saison anzeige werden mir die Menüpunkte wieder angezeigt:
Ursache ist in diesem Fall, dass in der Datei
das Menü mit dem Code require(JPATH_COMPONENT_ADMINISTRATOR . '/views/listheader/tmpl/default_4_start_menu.php');
geladen wird. Somit greift hier kein Override über das Template mehr.
Wenn ich jetzt den Code auf echo $this->loadTemplate('start_menu');
läuft es in diesem Fall. Ich hätte dies auch dann beim Projekt versucht aber hier wird auch ein Layout mit angegeben:
index.php?option=com_sportsmanagement&view=project&layout=panel&id=10
Dadurch sucht er dann nicht die Datei default_4_start_menu.php sonder panel_4_start_menu.php und die gibt es ja nicht. Kann ich natürlich händisch erstellen aber ich würde hier gerne eine saubere Lösung bevorzugen. Wird ja vielleicht auch andere Aufrufe mit anderen Layouts betreffen.
@diddipoeler Hast du einen Tipp für mich wie ich das bewerkstelligen kann?
Ich zeige mir die Spielergebnisse inkl. Tabelle über die View ResultsRanking an. Dabei wird mir unter der Tabelle die Spaltenerklärung mit angezeigt. Da diese auf kleineren Bildschirmen nicht gut angezeigt werden, wollte ich diese Datei mit Hilfe von Template-Overrides anpassen. Ich hätte hierzu die Struktur so angelegt: /templates/meinTemplate/html/com_sportsmanagement/ranking/default_explanation.php Die geänderte Datei wird mir aber nicht angezeigt. Es wird immer die Original-Datei ausgegeben. Ich hätte auch andere Verzeichnisstrukturen versucht wie z.B.: /templates/meinTemplate/html/com_sportsmanagement/resultsranking/default_explanation.php oder über die Joomla-Funktion der Overrides-Erstellung aber nichts davon funktioniert bei mir. Ich habe jetzt meine Änderung mal in der Original-Datei durchgeführt aber beim nächsten Update wäre diese ja wieder verloren. Wie kann ich mein Override verwenden?