You are not logged in.

1

Wednesday, May 18th 2011, 11:48pm

Template richtig Patchen

Hallo liebe WoltLab Community und Entwickler,

Ich versuche seit geraumer Zeit einen Patch zu schreiben für den Footer welcher mir einige erweiterte Footer Links anzeigen soll, jedoch aber will das mit dem patch nicht so richtig hinhauen wie ich das mir eigentlich vorgestellt habe.

WinMerge gibt mir leider beim Patch erstellen einen total ungültigen Patch aus welcher nichtmal den eingang der diff enthält mit den +++ und dem --- der footer.tpl
Im WinMerge habe ich die Zeilenenden konvertieren nach -> Windows (CRLF) Einstellung aktiv, was mir in einem Tutorial geraten wird.

Der Patch gibt ebenfalls anstelle von + für das hinzufügen > aus und für - für entfernen < was auch nicht richtig ist laut Tutorial.

Ebenfalls gibt der patch nicht die 3 Zeilen davor und danach im patch aus, was ja eigentlich auch sein müsste wenn ich richtig liege.

Nun wenn ich alles angepasst habe und sogar die Zeit im Anfangsbereich eingetragen habe gibt mir das Paket dann einen Fehler aus bei der Installation.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Fatal error: PHP notice in file /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/system/template/patch/TemplatePatchUnified.class.php (295): Undefined offset: 0
Information:
error message: PHP notice in file /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/system/template/patch/TemplatePatchUnified.class.php (295): Undefined offset: 0
php version: 5.3.3-7+squeeze1
wcf version: 1.1.6 pl 3 (Tempest)
file: /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/system/WCF.class.php (281)
error code: 0
date: 05/18/2011 09:44pm
request: /tboard/acp/index.php?page=Package&step=TemplatePatchPackageInstallationPlugin&queueID=203&action=install&packageID=48&
referer: http://genesys2.de/tboard/acp/index.php?page=Package&step=LanguagesPackageInstallationPlugin&queueID=203&action=install&packageID=48&
Stacktrace:
#0 /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/system/template/patch/TemplatePatchUnified.class.php(295): WCF::handleError(8, 'Undefined offse...', '/var/www/virtua...', 295, Array)
#1 /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/system/template/patch/TemplatePatchUnified.class.php(63): TemplatePatchUnified->detectLineBreaks(Resource id #85)
#2 /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/system/template/patch/TemplatePatch.class.php(242): TemplatePatchUnified->__construct('/var/www/virtua...', Resource id #85, Resource id #82, Array, Array, 1, 0, 2)
#3 /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/system/template/patch/TemplatePatch.class.php(105): TemplatePatch->checkDiffType(0)
#4 /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/acp/package/plugin/TemplatePatchPackageInstallationPlugin.class.php(54): TemplatePatch->__construct('152', '--- templates/f...', false, false, 0, '', 2)
#5 /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/acp/package/PackageInstallationQueue.class.php(146): TemplatePatchPackageInstallationPlugin->install()
#6 /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/acp/package/PackageInstallation.class.php(328): PackageInstallationQueue->executePackageInstallationPlugin('TemplatePatchPa...')
#7 /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/acp/package/PackageInstallation.class.php(52): PackageInstallation->install()
#8 /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/acp/page/PackagePage.class.php(49): PackageInstallation->__construct(203)
#9 /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/page/AbstractPage.class.php(46): PackagePage->show()
#10 /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/util/RequestHandler.class.php(64): AbstractPage->__construct()
#11 /var/www/virtual/genesys.z-host.de/htdocs/tboard/wcf/lib/util/RequestHandler.class.php(92): RequestHandler->__construct('Package', Array, 'page')
#12 /var/www/virtual/genesys.z-host.de/htdocs/tboard/acp/index.php(8): RequestHandler::handle(Array)
#13 {main}
Click the button below to undo the installation that lead to this error and to clean up your system.


Woran liegt das?
Was habe ich im Patch falsch geschrieben?
Das Paket beinhaltet neben dem Patch auch eine Sprachdatei welche in dem Patch beinhaltete Sprachvariablen befüllen soll.
Die package.xml beinhaltet den eigentlich korrekten tag mit dem <templatepatch>footer.diff</templatepatch> in den instructions.

Bei Bedarf füge ich euch auf eine Antwort die package.xml und die footer.diff ein, jedoch sehe ich bis hierher noch keinen bedarf an dieser für eine Problemlösung.

Danke schonmal für eure Hilfe

Grüsse
Peace

  • "[FFW] Patric" is male

Posts: 758

Location: Rheinland Pfalz (Westerwald)

Occupation: Fachinformatiker (Systemintegration)

  • Send private message

2

Thursday, May 19th 2011, 11:23am

Ich bearbeite Templates immer mit hand in meiner WBB installation (vorherige sicherung des Originals erforderlich)
und lasse dann meinen Linux server die Patch datei erstellen mit dem Befehl

Source code

1
diff -u template.tpl.old template.tpl


Siehe Seite 92 von "Technische Dokumentation" im Pluginstore zu finden. (klick )
Mit freundlichen Grüßen
[FFW] Patric

Alexander Ebert

WoltLab Developer

  • "Alexander Ebert" is male

Posts: 4,732

Location: Berlin

  • Send private message

3

Thursday, May 19th 2011, 3:52pm

Im WinMerge habe ich die Zeilenenden konvertieren nach -> Windows (CRLF) Einstellung aktiv

Bitte UNIX-Linebreaks (LF) verwenden !
Alexander Ebert
Developer WoltLab® GmbH


RouL

Member

  • "RouL" is male

Posts: 3,657

Occupation: Computer Science Expert, Subject Area: Software Development

  • Send private message

4

Thursday, May 19th 2011, 6:11pm

Ich habe beim erstellen von Patches mit WinMerge mit diesen Vorgaben immer die besten Resultate erzielt:

MfG RouL 《张马库斯》 【BlogTwitter

Meine Plugins 【WoltLab PluginstoreWBB3Addons
Entwickler Links 【WCF Entwickler Tutorial
Kein Support per PN oder Messenger.

5

Thursday, May 19th 2011, 6:54pm

Das WinMerge erzeugt mir nun eine passendes Resultat, jedoch bekomme ich noch immer diesen Error wie oben genannt bei 75%

Ist mir unerklärlich da nun der Patch eigentlich wirklich stimmen sollte =/

Danke euch für die Hilfe =)
Peace

6

Thursday, May 19th 2011, 7:07pm

Wie sieht denn der Patch aus, also die Diff-Datei?
Mit freundlichen Grüßen
Best regards
KittBlog Stile - Ihr Kit für Stile, Software und Knowhow
Your kit for styles, software and knowhow
Erste Linkliste zu Erweiterungen und Support rund um Burning Board©
First linklist for plugins and support around Burning Board©

7

Thursday, May 19th 2011, 7:24pm

Die diff sieht so aus:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
--- templates/footer.tpl	Thu May 19 18:34:01 2011
+++ templates/footer_patch.tpl	Thu May 19 18:48:28 2011
@@ -49,6 +49,98 @@
 				</ul>
 			</div>
 		</div>
+		<div id="footerLinks">
+			<div id="footLink1">
+				<p class="footLinkHeadline">{lang}wbb.footer.topic1{/lang}</p>
+				<ul class="footLinkList">
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link11{/lang}">{lang}wbb.footer.linktitle11{/lang}</a>
+						</h4>
+					</li>
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link12{/lang}">{lang}wbb.footer.linktitle12{/lang}</a>
+						</h4>
+					</li>
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link13{/lang}">{lang}wbb.footer.linktitle13{/lang}</a>
+						</h4>
+					</li>
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link14{/lang}">{lang}wbb.footer.linktitle14{/lang}</a>
+						</h4>
+					</li>
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link15{/lang}">{lang}wbb.footer.linktitle15{/lang}</a>
+						</h4>
+					</li>
+				</ul>
+			</div>
+			<div id="footLink2">
+				<p class="footLinkHeadline">{lang}wbb.footer.topic2{/lang}</p>
+				<ul class="footLinkList">
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link21{/lang}</a>
+						</h4>
+					</li>
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link22{/lang}</a>
+						</h4>
+					</li>
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link23{/lang}</a>
+						</h4>
+					</li>
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link24{/lang}</a>
+						</h4>
+					</li>
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link25{/lang}</a>
+						</h4>
+					</li>
+				</ul>
+			</div>
+			<div id="footLink3">
+				<p class="footLinkHeadline">{lang}wbb.footer.topic3{/lang}</p>
+				<ul class="footLinkList">
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link31{/lang}</a>
+						</h4>
+					</li>
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link32{/lang}</a>
+						</h4>
+					</li>
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link33{/lang}</a>
+						</h4>
+					</li>
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link34{/lang}</a>
+						</h4>
+					</li>
+					<li style="padding:1px;">
+						<h4>
+							<a href="{lang}wbb.footer.link35{/lang}</a>
+						</h4>
+					</li>
+				</ul>
+			</div>
+		</div>
 	<p class="copyright">{lang}wbb.global.copyright{/lang}<br />{if $forumOnlineTime|isset}{$forumOnlineTime}{/if}</p>
 	</div>
 </div>


Meines erachtens richtig und so wie sie sein sollte...

~
Peace

Alexander Ebert

WoltLab Developer

  • "Alexander Ebert" is male

Posts: 4,732

Location: Berlin

  • Send private message

8

Thursday, May 19th 2011, 7:34pm

Mir fallen auf Anhieb zwei Sachen auf:
  1. Warum fügst du nicht einfach eine Variable ein, in die du beliebigen Inhalt füllen kannst?
  2. Das Template ist bereits modifiziert, schau dir mal in die Copyright-Zeile an, der "forumOnline"-Teil gehört nicht zum Original

Zu deinem eigentlichen Fehler: Du hast einen Abhängigkeitsfehler drin, wie sieht deine package.xml aus? (bitte vollständig!)
Alexander Ebert
Developer WoltLab® GmbH


9

Thursday, May 19th 2011, 7:52pm

zu 1. weil das das erste paket ist was ich erstelle und das erstmal funktionieren soll mit dem patch bevor ich woanders weiter mache, im grunde würde sich das ganze ja auch von hand einfacher einbringen lassen als per paket, jedoch mag ich dies erstmal schaffen.
zu 2. weis ich, damit der path auch funktioniert mit der bereits modifizierten tpl des forums.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="UTF-8"?>
<package name="de.peace.footer" xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com/XSD/package.xsd">>
	<packageinformation>
		<packagename>Footer Sprachvariablen</packagename>
		<packagedescription language="de"><![CDATA[Fügt Sprachvariablen für Footer ein]]></packagedescription>
		<version>1.0.0</version>
		<date>2011-05-18</date>
		<isunique>0</isunique>
		<standalone>0</standalone>
	</packageinformation>
	<authorinformation>
		<author>Peace</author>
		<authorURL><![CDATA[http://www.genesys2.de]]></authorURL>
	</authorinformation>
	<requiredpackages>
		<requiredpackage minversion="1.1.0">com.woltlab.wcf</requiredpackage>
	</requiredpackages>
	<instructions type="install">
		<languages languagecode="de">de.xml</languages>
		<templatepatch>template.diff</templatepatch>
	</instructions>
</package>


Danke fürs anschauen =)
Peace

Alexander Ebert

WoltLab Developer

  • "Alexander Ebert" is male

Posts: 4,732

Location: Berlin

  • Send private message

10

Thursday, May 19th 2011, 8:05pm

Alexander Ebert
Developer WoltLab® GmbH


11

Thursday, May 19th 2011, 8:10pm

Danke vielmals =D
Peace

RL-Web

Member

  • "RL-Web" is male

Posts: 144

Occupation: IT-Specialist / FI f. SI / Ass. f. Informatik / IT-SysBe

  • Send private message

12

Sunday, May 5th 2013, 9:31am

Ich hab mal ne ganz dumme Frage: WinMerge erstellt mir beim Template Patch immer eine riesen große Datei.

Edit: Ok, das Problem war eine unterschiedliche Zeilumbruchformatierung.
Betriebssystem: WINNT | Webserver: Apache | PHP Version: 5.2.4 | MySQL Version: 4.1.22-community-log

This post has been edited 2 times, last edit by "RL-Web" (May 5th 2013, 10:31am)