Autore Topic: Installazione di una mod a mano  (Letto 1322 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Darknico

  • Amministratore
  • *****
  • Post: 2067
  • Sesso: Maschio
  • Server Admin
    • Mostra profilo
    • Darknico.com
  • Versione SMF: 2.0.x
  • Versione ElkArte: -
Installazione di una mod a mano
« il: Lunedì, 25 Febbraio 2013 12:14 »
Le mod solitamente sono progettate per lavorare con il tema di default,ovvero il tema “base”.
E’ difficile per chi crea le Mod, tanto quanto è difficile per chi crea i temi, far si che le mod lavorino con ogni tema.
Comunque è possibile installare una Mod manualmente, adattandola così ad ogni tema.

Mi Raccomando!Leggete tutto prima di incominciare a fare le modifiche a mano, risparmieremo così molte domande dopo...

Scompattiamo la mod,e andiamo subito a cercare il file package-info.xml
Questo file contiene tutte le informazioni per far eseguire la mod: quali file aggiungere, quale file fa le modifiche, quale file esegue query al database, e altre informazioni....

<install for="..."> indica per quale versione è la mod(se nn ce scritto niente non controlla la versione)
<require-file name="..." destination="..." /> nome del file da inserire in una determinata posizione
<require-dir name="..." destination="..." /> nome della cartella da inserire in una determinata posizione
<code >...< /code> file che esegue le query al database
<modification>...</modification> il file più importante;
ora andremo ad analizzare questo file che eseguirà tutte le modifiche al nostro smf


  • file con estensione .mod
    (ormai dal 2005 non viene piu usata l'estensione .mod ma l'estensione .xml,ma vediamo più avanti....)
  • apri il .mod file con un qualsiasi editor di testo (WordPad oppure Dreamweaver) e cerca:
    <edit file></edit file>
    E troverete il nome di un file all’interno di questo tag.
    Quello che  dobbiamo fare è cercare il file segnalato nel tag ad esempio index.template.php, BoardIndex.template.php ..etc.
  • Sotto al tag <edit file>, ci sarà il tag <search for> </search for>   . Contiene un blocco di codice da copiare nel file segnalato dal tag “edit file”
  • Dopo il tag <search for> potremmo trovare una di queste ozioni:
    <add after></add after> , in questo caso il “Blocco di codice” va aggiunto dopo quanto segnalato dal tag search for.
    <add before></add before> , in questo caso il “Blocco di codice” va aggiunto prima quanto segnalato dal tag search for.
    <replace></replace> , in questo caso il “Blocco di codice” va aggiunto al posto di quanto segnalato dal tag search for.

Ecco un esempio:

Codice: [Seleziona]
<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>

Questo significa che dobbiamo aprire il file Display.template.php e cercare:

Codice: [Seleziona]
// Show the anchor for the top and for the first message.  If the first message is new, say so.
E sostituirlo con:

Codice: [Seleziona]
global $bar_exps, $bar_posts;

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



Prima ho detto che l'estensione .mod non viene piu usata(anche se alcune le potete trovare ancora così) ma si usa .xml
Il procedimento è uguale,cambia solo per alcune cose:
  • <edit file></edit file> diventa <file name="...">
  • <search for> diventa <search position="...">
  • [CDATA[ ...codice... ]] dove all'interno c'è il codice da cercare o inserire

Ecco quindi come si presenterebbe la mod di prima con il metodo .xml

Codice: [Seleziona]
<file name="$themedir/Display.template.php">
<operation>
<search position="replace"><![CDATA[ // Show the anchor for the top and for the first message.  If the first message is new, say so.]]></search>
<add><![CDATA[ global $bar_exps, $bar_posts;

// Show the anchor for the top and for the first message.  If the first message is new, say so.
]]></add>
</operation>
</file>

Come potete vedere il funzionamento è lo stesso

Esistono poi variabili o azioni speciali  tipo queste:
  • <search position="end"> che vuol dire che va messo in fondo prima della fine del codice php ovvero prima del ?>
  • $themedir che sta per la cartella Themes/default/
  • $sourcedir che sta per la cartella Sources
  • $boarddir che sta per la cartella principale del forum
  • error="skip" sono quelle modifiche nn essenziali(magari apposite per una lingua o tema diverso) quindi in caso non trova il file o la parte da modificare nn da errore e salta l'operazione



Questo è tutto,ora dovreste essere in grado di installare una mod manualmente, sia se lo vogliate fare, sia se volete adattare ad un vostro tema.

N.B. non dovete mai modificare la mod,ma direttamente i vostri file!!

Un piccolo consiglio
se dovete solo adattare ad un vostro tema agite in questo mod:
  • Installate normalmente la mod
  • modificate poi SOLO i file .template del vostro tema

vi ricordo infatti ke ogni tema che installate non contiene tutti i file ma solo quelli che servono, quindi in caso manchi qualche file automaticamente va ad usare quello del default che la mod ha gia ovviamente modificato precedentemente.

Detto questo,buona modifica!!!




per chi ha difficoltà ad aprire le mod e seguire le modiffiche, è disponibile il parser nel sito ufficiale, per qualsiasi mod


Non supporto privatamente, non risponderei e ci rimarreste male....

 

Ripristinare vecchio database smf su nuova installazione smf

Aperto da NIO84Sezione SMF 2.0

Risposte: 7
Visite: 1079
Ultimo post Venerdì, 09 Maggio 2014 01:18
da emanuele
installazione mod

Aperto da TiMESezione Mods - Modifiche SMF

Risposte: 22
Visite: 3690
Ultimo post Martedì, 12 Marzo 2013 23:04
da red-77
installazione lingua italiana simpleportal

Aperto da fiorenzoSezione SMF 2.0

Risposte: 24
Visite: 4241
Ultimo post Lunedì, 25 Febbraio 2013 12:09
da Darknico