Installation manuelle d'un mod (au format .xml)

Avant de commencer...

D'abord, une petite note pour dire qu'un fichier .xml peut être ouvert avec n'importe quel éditeur de texte simple, comme le Bloc-Notes de Windows. Mais il est peut-être préférable de se tourner vers un autre outil comme ConText, Bluefish, gEdit, Macromedia Dreamweaver, MPSoftware PHP Designer 2005 ou autre, car ils proposent la colorisation syntaxique de ce type de fichiers.

Pour saisir comment installer manuellement un mod dont le fichier d'installation est au format .xml, nous prendrons un mod existant à titre d'exemple. Nous étudierons la première étape de l'installation du mod Board Notes, par Akabugeyes.

La première étape décrite dans le fichier d'installation install.xml de ce mod est celle-ci:

				<file name="$themedir/ManageBoards.template.php">
	<operation>
			<!-- Search for this text before the code we add.  You can also search for after, and the end of the file. -->
			<search position="before"><![CDATA[
								<td>
									<b>', $txt['mboards_description'], '</b><br />
									', $txt['mboards_description_desc'], '<br /><br />
								</td>
								<td valign="top" align="right">
									<textarea name="desc" rows="2" cols="29">', $context['board']['description'], '</textarea>
								</td>
]]></search>
			<!-- Add this text when we find it.  Note that it's on it's own line on purpose, and the CDATA keeps things clean. -->
			<add><![CDATA[
								<tr>
								<td>
									<b>', $txt['topblock_title'], '</b><br />
									', $txt['topblock'], '<br /><br />
								</td>
								<td valign="top" align="right">
									<textarea name="topblock" rows="2" cols="29">', $context['board']['topblock'], '</textarea>
								</td></tr>
]]></add>
		</operation>
	</file>

Décortiquons cette étape.

Désignation du fichier à modifier

				<file name="$themedir/ManageBoards.template.php">

Cette ligne contient le chemin et le nom du fichier à modifier. Certaines variables peuvent être utilisées pour exprimer un chemin:

  • $themedir désigne /Themes/default
  • $languagedir désigne /Themes/default/languages
  • $sourcedir désigne /Sources

Opération

	<operation>

Une opération consiste en une recherche et une action à prendre.

Commentaire

			<!-- Search for this text before the code we add.  You can also search for after, and the end of the file. -->

Comme en HTML, le texte contenu entre <!– et –> est un commentaire. Il est possible que certains installateurs incluent des commentaires pour mieux guider les utilisateurs désirant installer un mod manuellement ; d'autres mods n'inclueront aucun commentaires.

Recherche

			<search position="before"><![CDATA[
								<td>
									<b>', $txt['mboards_description'], '</b><br />
									', $txt['mboards_description_desc'], '<br /><br />
								</td>
								<td valign="top" align="right">
									<textarea name="desc" rows="2" cols="29">', $context['board']['description'], '</textarea>
								</td>
]]></search>

Ici se trouve notre recherche. Le gestionnaire de paquet tentera de trouver le texte *exact* (donc: espaces, tabulations, etc. doivent être respectées) situé entre <![CDATA[ et ]]> ; cela a pour effet de conserver les règles de formatage du texte. L'attribut position, dans la balise <search>, peut prendre 3 valeurs: replace (remplacer), before (avant) ou after (après).

  • Dans le premier cas, le texte recherché sera remplacé par le texte à ajouter.
  • Dans les second et troisième cas, l'attribut position renseigne quant à la position de ce texte à rechercher par rapport au texte à ajouter.
			<!-- Add this text when we find it.  Note that it's on it's own line on purpose, and the CDATA keeps things clean. -->

Encore un commentaire.

Ajout

			<add><![CDATA[
								<tr>
								<td>
									<b>', $txt['topblock_title'], '</b><br />
									', $txt['topblock'], '<br /><br />
								</td>
								<td valign="top" align="right">
									<textarea name="topblock" rows="2" cols="29">', $context['board']['topblock'], '</textarea>
								</td></tr>
]]></add>

La balise <add> contient le texte à ajouter. Ce texte est encore une fois situé entre <![CDATA[ et ]]> afin de préserver les règles de formatage (espaces, tabulations, etc.) ; il sera donc ajouté au fichier tel qu'il apparaît.

Fin de l'opération

		</operation>

L'opération étant terminée, on ferme la balise <operation>.

Fin de la modification dans le fichier

	</file>

S'il n'y a plus de modification à apporter dans le fichier que nous éditions, on ferme la balise <file>

Dans un langage plus compréhensible pour les humains, nous pourrions lire les instructions de cette façon:

Dans le fichier /Themes/default/ManageBoards.php (<file name=“$themedir/ManageBoards.template.php”>), nous recherchons le texte suivant (<search position=“before”><![CDATA[ … ]]></search>) ; ce texte se trouvera avant (position=“before”) le texte que nous ajoutons (<add><![CDATA[ … ]]></add>).

mods/installation_manuelle_xml.txt · Dernière modification: 2024/01/07 02:31 (modification externe)
Haut de page
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0