News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Wie wende ich Mods auf andere Themen (Skins) an?

Started by andrea, April 29, 2005, 12:56:23 AM

Previous topic - Next topic

andrea

Hier ist der englische Original-FAQ von A.M.A:
How to make mods work with themes?

Deutsche Übersetzung (bitte beachten, dass der englische Original-FAQ zusätzliche Kommentare enthalten kann, welche hier ev. nicht übersetzt sind):

Wie wende ich Mods auf andere Themen (Skins) an?

Mods sind meistens so erstellt, dass sie mit dem default Theme funktionieren. Es ist schwierig für Mod Autoren wie für Theme Autoren, Mods für jedes Thema funktionieren zu lassen. Jedoch kannst Du immer einen Mod manuell auf ein Theme anwenden, indem Du die folgenden Schritte ausführst.

1. Entpacke das Mod Paket, und suche nach der Datei mit der Endung .mod

2. Öffne die .mod Datei mit einem beliebigen Text Editor und suche nach <edit file>...</edit file> , Du findest einen Dateinamen nach diesem Tag. Nun müssen wir nach template Dateien suchen z.B. index.template.php, BoardIndex.template.php ..etc.

3. Wenn Du einen template Dateinamen nach dem <edit file> Tag findest, so wirst Du auch den <search for> ...</search for> Tag darunter finden. Dieser enthält einen Code block der im entsprechenden Template lokalisiert werden muss.

4. Nach dem <search for> Tag, wirst Du einen dieser Tags finden:
<add after>...</add after> , fügt einen Code Block nach dem gefundenen Code ein.
<add before>...</add before> , fügt einen Code Block vor dem gefundenen Code ein.
<replace>...</replace> , ersetzt den gefundenen Code mit einem Codeblock.


Beispiel:
<edit file>
Themes/default/Display.template.php
</edit file>

<search>
// Show the anchor for the top and for the first message.  If the first message is new, say so.
</search>

<replace>
global $bar_exps, $bar_posts;

// Show the anchor for the top and for the first message.  If the first message is new, say so.
</replace>

Und das bedeutet, wir müssen Display.template.php öffnen und suchen nach:
// Show the anchor for the top and for the first message.  If the first message is new, say so.

und ersetzen es mit:
global $bar_exps, $bar_posts;

// Show the anchor for the top and for the first message.  If the first message is new, say so.


Bitte beachte dass nicht alle Mods nur template Dateien öndern, einige benötigen auch das Hinzufügen neuer template(s) zum Theme, damit der Mod mit dem Theme funktioniert.

Andrea Hubacher
Ex Lead Support Specialist
www.simplemachines.org

Personal Signature:
Most recent work:
10 Aqua Themes for SMF



Ripper

Ich hab mal ne doofe Frage. Was ist wenn es in diesen Paketen keine .mod Datei gibt? Wie z.B. in dem Integrated Chat Mod.

noex

Dann gibt es dort eine .xml Datei, welche die Anweisungen enthält.

In deinem Fall wäre dies die IntegratedChat22.xml

lg
noex
"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"


willi1

Hej,

ich möchte auch den integrated chat mod installieren allerdings enthält die integratedchat26.xml
keinen einzigen dieser beschriebenen tags was mache ich jetzt nur?

LG

willi1

Tarquinio

Wäre es nicht einfacher die variable $themedir gegen den direkten Pfad zu dem gewünschten Theme zu tauschen?

TTinSB

am Besten wäre ein Paketmanager der fragt in welchen installierten Templates und Sprachen die Änderungen vorgenommen werden sollen.

dieter4

Quote from: TTinSB on October 15, 2006, 08:56:06 AM
am Besten wäre ein Paketmanager der fragt in welchen installierten Templates und Sprachen die Änderungen vorgenommen werden sollen.

Das wäre für die Entwickler der Mods zu aufwendig.

plattenspiel

also ich komm damit überhaupt nicht klar nach der anleitung
versteh es von anfang bis ende nich

dieter4

Du musst aus der Installations-xml-Datei die entsprechenden Teile nehmen und die an den angebenen Stellen einfügen.

TTinSB

Quote from: Dark_Neakro on October 15, 2006, 09:10:46 AM
Quote from: TTinSB on October 15, 2006, 08:56:06 AM
am Besten wäre ein Paketmanager der fragt in welchen installierten Templates und Sprachen die Änderungen vorgenommen werden sollen.

Das wäre für die Entwickler der Mods zu aufwendig.

Eigentlich nicht, es müßte nur pflicht sein das sich alle dateien (also auch die vom theme unberührten) im ordner des themes befinden und eindeutige tags zur identifierung festgelegt werden.
z.B. <--- 001-blockbeschreibung_begin ---> ... <--- 002-blockbeschreibung_end --->
Wenn im Basis-Theme jeder Teil eindeutig identifierbar ist bleiben die teile auch in den modifizierten Varianten auffindbar und die mods könnten automatisch installiert werden.

So wie es ist, ist es ganz schön mühsamund Fehleranfällig.
Vor allem wenn man eigene SSI Seiten erstellt hat fällt schnell auf wenn Theme Autoren unsauber gearbeitet haben. In der style.css fehlen oft komplette tag gruppen.

Wenn man nach obigen System arbeitet könnte der paketmanager dem Themeautor auch gleich mitteilen was in seinem Theme fehlt und die Fehler könnten vor Veröffentlichung gefixed werden.

Dirk67

#11
Quote from: Tarquinio on July 06, 2006, 12:08:44 PM
Wäre es nicht einfacher die variable $themedir gegen den direkten Pfad zu dem gewünschten Theme zu tauschen?

wäre das wirklich möglich ?

Wo wird denn die Konstante (oder Variable ?) $themedir zugewiesen,
oder meinst Du dass man sie direkt im xml-file "überschreiben" soll ?
Board-Info Server-Info
using: SMF 1.1.3 PHP Version: 4.4.1
charset = UTF-8 MySQL Version: 4.1.22-debug-log
Mods: - User Email System Server Version: Apache/1.3 (Unix) mod_ssl
        - AVV by HarzeM GD Version: bundled (2.0.28 compatible)


web is what we make it .

DeBlackDragon

#12
Ich habe versucht den Mod "SeperatetStickyTopic"  auf den Skin WoW-DK anzupassen da.

Hab auch eigentlich alles soweit gemacht wie es hier drinn steht doch leider geht das nicht.

Wenn ich es auf einen anderen Theme anwenden will muss ich doch anstelle des Default theme die dateien im anderen (WOW-DK) bearbeiten oder irre ich mich da?

EDIT// Durch ausprobieren hab ich es jetzt hinbekommen.

Super Tut^^

Advertisement: