[3.2] Erweiterungen Anzeigeposition im Style

Du hast Probleme beim Installieren oder bei der Benutzung einer Extension? In diesem Forum bist du richtig.
Forumsregeln
Bei Fragen zu einer bestimmten Extension sind Extension-Name und die Downloadquelle der Extension erforderlich. Letztere in Form der URL zum Download. Hiervon kann lediglich bei sehr bekannten und verbreiteten Extensions abgesehen werden, soweit eindeutig ist, um welche Extension es sich handelt. Es liegt allerdings im Ermessen der Moderatoren, das Thema ggf. zu schließen, daher sollte im Zweifel der Link angegeben werden.
Loremaster
Mitglied
Beiträge: 6
Registriert: 07.01.2018 17:03

[3.2] Erweiterungen Anzeigeposition im Style

Beitragvon Loremaster » 31.07.2018 16:20

Hallo zusammen,

ich suche gerade nach einer oder richtigen Methode um Erweiterungen (Extensions) an anderer Stelle als der in Erweiterung festgelegten Position anzuzeigen. Mal ein Beispiel - Die Recent Topics Erweiterung wird immer über der Forenliste angezeigt. Wenn ich diese nun theoretisch ganz woanders anzeigen wollte, wo würde ich das ändern?

Ich weiß, dass PHPBB so eine Art Ankerpunkte nutzt (Events?), welche im gesamtem Style verteilt sind. Soweit so gut. Wenn ich nun aber die Erweiterung selbst wo anders positionieren will, müsste ich dann den Core der Erweiterung modifizieren? Und wo würde ich das normalerweise tun? Gibt es festgelegte Orte in den Extension-Dateien, wo das angegeben wird?

Und noch eine Frage - Kann ich eigene solcher "Ankerpunkte" (wie heißen die bloß richtig? Events? Wahrscheinlich.) in einem custom style definieren?

Ich bin selbst kein PHP-Coder, weswegen ich mich sehr über Hilfe freuen würde. Wenn es hierzu eine Dokumentation gibt, gerne auch Englisch, dann einfach darauf verlinken.

Vielen Dank schon einmal für die Hilfe!

Benutzeravatar
Melmac
Supporter
Supporter
Beiträge: 3447
Registriert: 15.10.2012 03:27

Re: [3.2] Erweiterungen Anzeigeposition im Style

Beitragvon Melmac » 31.07.2018 17:27

Hi,

normalerweise ist das durchaus machbar :wink:

Im Verzeichnis /ext/paybas/recenttopics/styles/ liegen stylespezifische Ordner, die wiederum die Eventfiles enthalten, die zur Anzeige bzw. dem Einbinden von Code der Extension in diesem Style verwendet werden.
Bsp.: /ext/paybas/recenttopics/styles/all/template/event/index_body_markforums_after.html

Die Namensgebung dieser Files: Filename = Name des Evenst in der HTML-Datei, an dessen Stelle ihr Inhalt angezeigt werden soll.

Um den Anzeigeort zu verlagern:
  • Lege im Vezeichnis /ext/paybas/recenttopics/styles/ einen neuen Ordner mit dem Namen Deines Styles an.
  • Kopiere den kompletten Inhalt des Ordners /ext/paybas/recenttopics/styles/all/ und füge ihn in den neu angelegten Ordner Deines Styles ein
  • Im Ordner /ext/paybas/recenttopics/styles/*name_deines_styles*/template/event// kopiere die Datei, die den Anzeigecode enthält und speichere sie unter dem Namen desjenigen Events ab, das die Stelle in den HTML-Files vorgibt, an der Du den Inhalt jetzt angezeigt bekommen möchtest
  • Öffne das ursprüngliche Eventfile (das, das Du im Schritt vorher kopiert hast) und entferne dessen kompletten Inhalt (nicht die Datei löschen, nur leeren).
  • Caches leeren

Der Autor dieser Extension verwendet im Ordner /ext/paybas/recenttopics/styles/ als stylespezifischen Ordner ein Verzeichnis /all = gilt für alle Styles, ohne dass diese nochmals gesondert enthalten sein müssen.
Bei anderen Extensions kommt stattdessen ein Verzeichnis /prosilver zum Einsatz. Im Endeffekt kommt dies aufs gleiche raus:
Es wird geprüft, ob im Style-Verzeichnis der Extension ein Ordner mit dem Namen des verwendeten Styles existiert, in dem das betreffende Eventfile gefunden werden kann
=> falls dieser existiert, wird das gesuchte Eventfile von dort verwendet, falls dieser nicht existiert, dann wird nach einem Ordner /prosilver gesucht
=> falls dieser existiert, wird das gesuchte Eventfile von dort verwendet, falls dieser nicht existiert, dann wird nach einem Ordner /all gesucht und dessen entsprechende Eventfile verwendet.

Der Knackpunkt: wenn Duin Deinem stylespezifischen Ordner ein Eventfile löscht, wird in der o.g. Zugriffskette solange weiter nach unten gegangen, bis es dort gefunden wird - und dann auch angezeigt wird. Das reine Löschen im stylespezifischen Ordner bringt also in diesem Falle nichts.
Daher der kleine Trick, das "originale" File bestehen zu lassen (dann wird auch nicht weiter nach ihm gesucht) und nur den Code in ihm zu entfernen.

Loremaster hat geschrieben:Und noch eine Frage - Kann ich eigene solcher "Ankerpunkte" (wie heißen die bloß richtig? Events? Wahrscheinlich.) in einem custom style definieren?

Was genau verstehst Du darunter?
Custom Styles basieren normalerweise auf prosilver und sollten nach Möglichkeit nur diejenigen Dateien enthalten, die sich von den prosilver-Originalen unterscheiden. Alle anderen werden dann von dort "mitverwendet".

Von daher sollten in den HTML-Files auch die gleichen Events an den gleichen Stellen wie in den prosilver-HTML-Files vorhanden sein: entweder die jeweiligen Dateien wurden aus prosilver in den Custom Style kopiert oder der Custom Style "leiht" sie sich direkt von prosilver.
Handle nur nach derjenigen Maxime, durch die du zugleich wollen kannst, dass sie ein allgemeines Gesetz werde.
(Immanuel Kant)

Verschoben von Support-Forum nach Extension Support am 31.07.2018 17:28 durch Melmac

Loremaster
Mitglied
Beiträge: 6
Registriert: 07.01.2018 17:03

Re: [3.2] Erweiterungen Anzeigeposition im Style

Beitragvon Loremaster » 31.07.2018 17:59

@Melmac

zunächst einmal vielen lieben Dank für die sehr ausführliche Antwort. Das hat mir schon ungemein geholfen! Wirklich super!

Nun zu deiner Nachfrage - Mal davon ab, dass ich jede Datei überschreibe, da ich den kompletten Style auf UIKIt umstelle, zielte die Frage her auf folgendes ab:

Mal angenommen, ich will oben genannte Extension an einer Position anzeigen, an welcher sich kein Event befindet. Kann ich dann mein eigenes Event erstellen? Zum Beispiel:

<!-- EVENT eventhaumichblau_ganzuntenlinks -->

Nur als Beispiel. Ich hatte da bereits in der offiziellen Dokumentation gestöbert und so ganz einfach scheint es nicht zu sein. Eventuell erkenne ich den richtigen Weg aber auch nur nicht.

Sorry, wenn die Fachtermini teils nicht stimmen. :)

Und vielen Dank erneut!

Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 5958
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: [3.2] Erweiterungen Anzeigeposition im Style

Beitragvon Kirk » 31.07.2018 19:29

Möglich ist es schon,, wenn jetzt eine EXT das template Event index_body_forumlist_body_after.html hat so müsstest du die in eventhaumichblau_ganzuntenlinks.html ändern.
Ob es dann von der ganzen Formatierung hinhaut steht auf einem anderen Blatt, aber Theoretisch machbar.

Loremaster
Mitglied
Beiträge: 6
Registriert: 07.01.2018 17:03

Re: [3.2] Erweiterungen Anzeigeposition im Style

Beitragvon Loremaster » 31.07.2018 20:45

Danke Kirk. Ich werde es morgen mal austesten. Sollte es nicht funktionieren, dann muss ich ein wenig CSS tricksen und versuchen es z.B. via Flexbox zu lösen. Irgendwie wird es schon klappen. Ich kann natürlich die Vorteile des Systems sehen, aber deswegen mochte ich das alte Extension-System. Das war zwar mehr Frickel-Arbeit, aber man konnte Mods besser positionieren. Allerdings ist das wahrscheinlich sowieso eher eine persönliche Geschichte, weil ich Styles und Foren ungerne nach Schema F baue.

Anyhow - Vielen Dank erneut und ich wünsche anbei einen schönen Abend. :)

Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 5958
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: [3.2] Erweiterungen Anzeigeposition im Style

Beitragvon Kirk » 31.07.2018 20:53

Mit den Extension hast man den Vorteil das nichts an den org. phpBB Dateien geändert werden muss.
So hat man bei einem Update bessere Erfolgschancen.
Bedenke bei deinen Versuchen auch an das responsive Design.

Loremaster
Mitglied
Beiträge: 6
Registriert: 07.01.2018 17:03

Re: [3.2] Erweiterungen Anzeigeposition im Style

Beitragvon Loremaster » 01.08.2018 10:47

Ja, ans responsive Design denke ich sowieso. Wie gesagt - Ich baue mein Style komplett von Grund auf neu auf und ersetze alles durch UIKIT. Das ist teils echt mühselig, weil selbst die englische Dokumentation teils sehr lückenhaft ist. Zum Beispiel weiß man nie, welche Klassen und IDs man behalten muss, weil PHPBB diese benötigt, z.B. für etwaige Java-Skripte.

Ja, ich sehe den Vorteil beim aktuellen System der Extensions durchaus. Vor allem ist es halt für den "Standardnutzer" deutlich einfacher. PHPBB hat damit aber auch, gerade bei den Styles, einiges an Variabilität eingebüßt. Ich habe früher immer gerne ungewöhnliche Designs erstellt. Das geht heute leider nicht mehr ganz so einfach.

Benutzeravatar
Melmac
Supporter
Supporter
Beiträge: 3447
Registriert: 15.10.2012 03:27

Re: [3.2] Erweiterungen Anzeigeposition im Style

Beitragvon Melmac » 01.08.2018 16:48

Von dem Punkt mal abgesehen, dass nicht immer auch an der Stelle, die man gerade bräuchte, ein passendes Event vorhanden ist, sehe ich da momentan keinen allzu gravierenden Nachteil des Extension-Systems gegenüber den alten MODs.
Sofern es um einen eigenen, "privaten" Styleentwurf geht, lassen sich da meist Wege drumherum finden - siehe Kirks Vorschlag weiter oben :wink:

Solange ich mich an die phpBB- oder, eingeschränkt, TWIG-Syntax halte, steht es mir dabei auch völlig frei, die Struktur bzw. das CSS nach eigenen Vorstellungen umzugestalten, bis hin zum kompletten Umbau.
Problematisch wird es erst in Hinblick auf Erweiterungen, da diese auf prosilver abgestimmt sind - das war aber auch zu Zeiten der MODs nicht viel anders.
Es gibt auch heute Styles, die hierin so sehr vom "Standard" von prosilver abweichen, dass die meisten Extensions speziell an sie angepasst werden müssen, um sich optisch in sie einzufügen - was wiederum auch bei den MODs der Fall war.

Dass die Basis prosilver in guten Teilen eher "altbacken" und "geflickt" daherkommt, ist eine andere Geschichte ... :D

Nur mal interessehalber gefragt: das UIKIT, ist dies ein vollwertiges Framework oder eher eine Library (hab da bisher nur kurz quergelesen)?
Sofern Du hierbei LESS oder SASS einsetzt, lässt sich dadurch doch einiges an Flexibilität gegenüber der Basis prosilver hinzugewinnen, oder?
Sicher, nicht ganz so, wie es möglich wäre, aber immerhin.
Handle nur nach derjenigen Maxime, durch die du zugleich wollen kannst, dass sie ein allgemeines Gesetz werde.
(Immanuel Kant)


Zurück zu „Extension Support“