You are not logged in.

1

Wednesday, March 21st 2012, 10:03pm

TeaserBox - Lizenzfrage und Anpassungsfrage

Hey BlackRider,

Ich habe mir einen Stil mit 2 Spaltigem Layout erstellt. Nun würde ich
gerne deine TeaserBox nicht über der BoardList, sondern in meiner linken
Spalte anzeigen lassen.

Dazu hätte ich nun einige Fragen:

1. Ist es erlaubt eine solche Veränderung vorzunehmen? (Ist es eine die eine Absprache benötigt hätte?)

2. Ich habe über {include file="teaserBox"} die TeaserBox eingefügt, wie bekomme ich dann die TeaserBox über der BoardList weg?

Vielen Dank schon mal
Mit freundlichen Grüßen

Klima

2

Wednesday, March 21st 2012, 11:18pm

Wie ich eben bemerkt habe, ist in der Webdisk die falsche Lizenz eingetragen gewesen. Richtig ist die Lizenz LGPL, d.h. du kannst damit machen, was du willst. ;)

Um die TeaserBox zu entfernen, müsstest du den entsprechenden Eventlistener bearbeiten. Dieser befindet sich unter /wcf/lib/system/event/listener/TeaserBoxIndexPageListener.class.php. Dort einfach Zeile 102 entfernen.
Mit freundlichen Grüßen
Best Regards

Matthias Kittsteiner

3

Thursday, March 22nd 2012, 2:05pm

Ok vielen Dank,
jetzt ist mir gerade aber ein Problem aufgefallen. Und zwar hole ich ja das Template der Teaserbox in meine Linke Spalte. Die Sache ist nur die, dass die Siderbar ja nicht nur auf der Index seite sondern auch z.b In der MemberList oder dem Plug angezeigt wird und dadurch verursacht das includen der teaserBox.tpl einen Fatal Error, was ja klar ist.
Wie kann ich die teaserBox für alle Seiten funktionierbar machen?
Mit freundlichen Grüßen

Klima

4

Thursday, March 22nd 2012, 2:50pm

Dafür müsstest du den Eventlistener grundsätzlich ändern, so dass er bei einem anderen Aufruf gestartet wird. D.h. du müsstest die eventlistener.xml aus dem Paket bearbeiten. Dadurch kannst du gleich ein neues Plugin erstellen. ;)
Mit freundlichen Grüßen
Best Regards

Matthias Kittsteiner

5

Thursday, March 22nd 2012, 2:58pm

Ja neues Plugin wär auch ok ... aber ich komm mit JS net zurecht .. und mit dem Rest bin ich, wie du sicherlich schon des öfteren gemerkt hast, auch nicht immer 100% zurecht ;) Aber mal sehen vll bekomm ich es ja angepasst

HMMM das war viel zu einfach ... es funktioniert, aber ich habe die Befürchtung das noch irgendwo ein Fehler ist den ich nicht auf die Schnelle gefunden habe. Hier mal der neue Inhalt meiner eventlistener.xml:

XML

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
<data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com/XSD/event-listener.xsd">
	<import>
		<eventlistener>
			<eventclassname>StructuredTemplate</eventclassname>
			<eventname>shouldDisplay</eventname>
			<environment>user</environment>
			<listenerclassfile>lib/system/event/listener/TeaserBoxIndexPageListener.class.php</listenerclassfile>
			<inherit>0</inherit>
		</eventlistener>
	</import>
</data>


Findest du auf die Schnelle Fehler? Wenn du willst kann ich auch das Paket anhängen, musst jedoch beachten, dass du das im Template noch ändern müsstest ;)

€dit:
Wenn ich jetzt die Navigation verändern, so dass se z.B nimmer float: right hat sondern sie zentriert und als kleine Kreise (ohne Titel) angezeigt werden solln, reicht reines CSS nicht mehr aus oder? Da müsste dann schon eine Templateänderung erfolgen oder ? Wenn ja wie bekomme ich den "Listencharakter" weg?
Generell ist es ja in einem <ul>-Tag eingefasst wenn ich das richtig in Erinnerung habe (sitze gerade am Handy ^^)
Mit freundlichen Grüßen

Klima

This post has been edited 2 times, last edit by "Klima" (Mar 22nd 2012, 8:21pm)


6

Sunday, March 25th 2012, 11:30am

Findest du auf die Schnelle Fehler? Wenn du willst kann ich auch das Paket anhängen, musst jedoch beachten, dass du das im Template noch ändern müsstest ;)
Sollte normalerweise so funktionieren, wie du es jetzt bereits gemacht hast.

Zu deinem Design-"Problem", kann ich dir nichts sagen, da ich die Teaserbox erstens nur vom Betrachten in Foren kenne und Matthias der CSS-Gott ist.
Vermutlich ist es eine Templateänderung, aber vielleicht auch nur eine CSS-Deklaration, die verändert werden muss. Ich würde es einfach nach dem Motto "Probieren geht über Studieren" versuchen. ;)

7

Sunday, March 25th 2012, 1:08pm

Bezüglich der Anpassung gibt es ja hier schon ein Thema:
TeaserBox Navigation anpassen
Mit freundlichen Grüßen
Best Regards

Matthias Kittsteiner

8

Tuesday, March 27th 2012, 6:48pm

Ah Ok, sorry BlackRider dass ich noch mal ausgrab, aber ich hab einen Fehler gefunden, den meine Lösung verursacht. Und zwar habe ich mir gerade aus bequemlichkeits Gründen ein Testforum in lokaler Umgebung (sprich XAMPP) erstellt und wollte dann meinen Stil und das von mir bearbeitete Plugin hochladen. Hat auch geklappt nur fiel mir auf, dass wenn keine TeaserAktiv sind, wird ein Error auf allen Seiten erzeugt. Hier mal der Fehler Code

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
Fatal error: PHP notice in file C:\xampp\htdocs\wcf\templates\compiled\60_1_2_teaserBox.php (58): Undefined index: teaserBoxData

Information:

error message: PHP notice in file C:\xampp\htdocs\wcf\templates\compiled\60_1_2_teaserBox.php (58): Undefined index: teaserBoxData
error code: 0
file: C:\xampp\htdocs\wcf\lib\system\WCF.class.php (281)
php version: 5.3.8
wcf version: 1.1.8 (Tempest)
date: Tue, 27 Mar 2012 16:46:37 +0000
request: /index.php?page=Index
referer: http://127.0.0.1/index.php?form=UserLogin
Stacktrace:

#0 C:\xampp\htdocs\wcf\templates\compiled\60_1_2_teaserBox.php(58): WCF::handleError(8, 'Undefined index...', 'C:\xampp\htdocs...', 58, Array)
#1 C:\xampp\htdocs\wcf\lib\system\template\Template.class.php(267): include('C:\xampp\htdocs...')
#2 C:\xampp\htdocs\wcf\lib\system\template\Template.class.php(436): Template->display('teaserBox', false)
#3 C:\xampp\htdocs\wcf\templates\compiled\48_1_2_header.php(352): Template->includeTemplate('teaserBox', Array, 1)
#4 C:\xampp\htdocs\wcf\lib\system\template\Template.class.php(267): include('C:\xampp\htdocs...')
#5 C:\xampp\htdocs\wcf\lib\system\template\Template.class.php(436): Template->display('header', false)
#6 C:\xampp\htdocs\wcf\templates\compiled\48_1_2_index.php(41): Template->includeTemplate('header', Array, 0)
#7 C:\xampp\htdocs\wcf\lib\system\template\Template.class.php(267): include('C:\xampp\htdocs...')
#8 C:\xampp\htdocs\wcf\lib\page\AbstractPage.class.php(100): Template->display('index')
#9 C:\xampp\htdocs\wcf\lib\page\AbstractPage.class.php(46): AbstractPage->show()
#10 C:\xampp\htdocs\wcf\lib\util\RequestHandler.class.php(64): AbstractPage->__construct()
#11 C:\xampp\htdocs\wcf\lib\util\RequestHandler.class.php(92): RequestHandler->__construct('Index', Array, 'page')
#12 C:\xampp\htdocs\index.php(8): RequestHandler::handle(Array)
#13 {main}


Aber wie gesagt wenn jemand die Lösung verwenden will muss er einfach immer mindestens einen Teaser anzeigen lassen, dann gibt es kein Problem. Was genau da jetzt nicht stimmt kann ich nicht sagen. Vielleicht findet ja die Community hier etwas heraus.

War nur als kleine Warnung an alle NOOB's wie mich gedacht.
Mit freundlichen Grüßen

Klima

9

Tuesday, March 27th 2012, 7:04pm

Setze doch einfach eine Abfrage vor diese Zeile im Template:

Template source code

1
{if $teaserBoxData|count > 0}Code{/if}
Dann dürfte auch ohne Teaser keine Fehlermeldung mehr vorkommen.
Mit freundlichen Grüßen
Best Regards

Matthias Kittsteiner

10

Tuesday, March 27th 2012, 7:18pm

wo meinst du mit "vor"
Mit freundlichen Grüßen

Klima

11

Tuesday, March 27th 2012, 7:38pm

Bevor die einzelnen Teaser im Template ausgegeben werden.
Mit freundlichen Grüßen
Best Regards

Matthias Kittsteiner

12

Wednesday, March 28th 2012, 8:09pm

Bitte benutze anstatt des Templatecodes aus Beitrag 9 folgenden:

Template source code

1
{if $teaserBoxData|isset}Code{/if}

Rate this thread