Kriegen wir auch ein Tut für JS-Callbacks (WCF.DOMNodeInsertedHandler.addCallback())? Das könnte nämlich irgendwann wichtig werden
WCF 2 Programmier-Tutorials - Übersicht
-
Christopher Walz -
11. September 2013 um 11:52 -
Geschlossen
-
-
vielen Dank! Genau das habe auch ich vergeblich gesucht
Könntet ihr das noch auf der "Development"-Seite des Wikis verlinken? Dann findet man es auch wieder -
- Offizieller Beitrag
Kriegen wir auch ein Tut für JS-Callbacks (WCF.DOMNodeInsertedHandler.addCallback())? Das könnte nämlich irgendwann wichtig werden
Wozu braucht es da ein Tutorial, der Callback wird einfach aufgerufen, was du in dem machst ist dir überlassen?! -
Oh... Dachte, das wäre umständlicher :p
-
Hallo,
wie kann ich denn bei einer eigenen Seite die Breadcrumbs deaktivieren?
Dank Euch -
-
Hallo MArc,
danke für Dein Feedback - wie muss ich das in mein PHP-File einbinden und muss ich spezielle Klassen hierfür einbinden?
<?php
namespace wcf\page;class TestPage extends AbstractPage {
/**
* @see wcf\page\AbstractPage::$activeMenuItem
*/
public $activeMenuItem = 'wcf.page.test';
} -
Siehe zum Beispiel https://github.com/wbbaddons/Tims….class.php#L189 (hier wird auch ein Menüpunkt aktiv gesetzt)
-
Siehe zum Beispiel https://github.com/wbbaddons/Tims….class.php#L189 (hier wird auch ein Menüpunkt aktiv gesetzt)
Warum nicht im Template {include file='header' skipBreadcrumbs=true}? -
Könnt ihr mir auch mal weiter helfen bitte.
Möchte ja eine eigene Seite, welche ich auch bereits erfolgreich erstellt habe mit den x neusten Themen und Beiträge füllen Tja, man hat mir gerade mal bei anderen Plugins zu schauen und das habe ich gemacht. Ich habe bei der Portalbox "Die letzten Beiträge" geschaut und gesehen, dass diese ja gar nicht so viel macht und die WBB eigenen Mittel nutzt.
Meine Datei schaut so aus:
PHP
Alles anzeigen<?php namespace wcf\page; use wbb\data\thread\LatestPostsList; use wcf\system\WCF; /** * Shows the example page. * * @author Denis Heink * @copyright 2013 dampfer-board.de * @license LGPL * @package de.dampfer-board.wcf.examplepage */ class ExamplePage extends AbstractPage { public $activeMenuItem = 'wcf.page.example'; public function render() { $latestPostsList = new LatestPostsList(); $latestPostsList->sqlLimit = "20"; $latestPostsList->readObjectIDs(); $latestPostsList->readObjects(); if (!count($latestPostsList)) return ''; WCF::getTPL()->assign(array( 'latestPostsList' => $latestPostsList )); } }
Aber wenn ich das nun im Template aufrufen möchte:
Bekomme ich diesen Fehler:
ZitatFatal error: PHP notice in file /var/www/clients/client1/web1/web/wbb4/wcf/templates/compiled/0_wcf_1_example.php (317): Undefined index: latestPostsListInformation:id: 5f34aa8de28fe453302d3426d9ca3ac3049878c4
error message: PHP notice in file /var/www/clients/client1/web1/web/wbb4/wcf/templates/compiled/0_wcf_1_example.php (317): Undefined index: latestPostsList
error code: 0
file: /var/www/clients/client1/web1/web/wbb4/wcf/lib/system/WCF.class.php (288)
php version: 5.4.4-14+deb7u4
wcf version: 2.0.0 Beta 10 (Maelstrom)
date: Fri, 04 Oct 2013 14:26:22 +0000
request: /wbb4/index.php/Example/
referer: http://www.dampfer-board.de/wbb4/Stacktrace:#0 /var/www/clients/client1/web1/web/wbb4/wcf/templates/compiled/0_wcf_1_example.php(317): wcf\system\WCF::handleError(8, 'Undefined index...', '/var/www/client...', 317, Array)
#1 /var/www/clients/client1/web1/web/wbb4/wcf/lib/system/template/TemplateEngine.class.php(324): include('/var/www/client...')
#2 /var/www/clients/client1/web1/web/wbb4/wcf/lib/page/AbstractPage.class.php(205): wcf\system\template\TemplateEngine->display('example', 'wcf')
#3 /var/www/clients/client1/web1/web/wbb4/wcf/lib/page/AbstractPage.class.php(86): wcf\page\AbstractPage->show()
#4 /var/www/clients/client1/web1/web/wbb4/wcf/lib/system/request/Request.class.php(58): wcf\page\AbstractPage->__run()
#5 /var/www/clients/client1/web1/web/wbb4/wcf/lib/system/request/RequestHandler.class.php(101): wcf\system\request\Request->execute()
#6 /var/www/clients/client1/web1/web/wbb4/index.php(10): wcf\system\request\RequestHandler->handle('wbb')
#7 {main}Tja und nun ist Feierabend bei mir
-
- Offizieller Beitrag
Die Methode render wird niemals aufgerufen. Du könntest Dich stattdessen beispielsweise an wbb\page\WatchedThreadListPage orientieren.
-
Ja, danke dir, bin da aber der volle Anfänger
Ich habe aber verstanden glaube ich. Die Funktion "render" wird ja im Fall der Portalbox von wo anders her aufgerufen. Aber wenn ich nun das ganze in den Code ohne diese Funktion schreibe, also so, dass es direkt beim Aufruf der Datei abgearbeitet wird, sollte das doch so gehen oder?
Ich bin ja schon fleißig am lesen, aber das ist gar nicht so einfach
Hast du mir zu dem was du geschrieben hast bitte eine kleine Hilfe in Form eines Beispieles?
Ziel ist es die Posts der letzten x-Tage auszulesen und ins Template zu bringen -
Ich habe aber verstanden glaube ich. Die Funktion "render" wird ja im Fall der Portalbox von wo anders her aufgerufen. Aber wenn ich nun das ganze in den Code ohne diese Funktion schreibe, also so, dass es direkt beim Aufruf der Datei abgearbeitet wird, sollte das doch so gehen oder?
Nein.Auslesen solltest du daten in readData und ans Template übergeben in assignVariables
PHP
Alles anzeigen<?php namespace wcf\page; use wbb\data\thread\LatestPostsList; use wcf\system\WCF; /** * Shows the example page. * * @author Denis Heink * @copyright 2013 dampfer-board.de * @license LGPL * @package de.dampfer-board.wcf.examplepage */ class ExamplePage extends AbstractPage { public $activeMenuItem = 'wcf.page.example'; public $lastPostList = array(); public function readData() { $this->latestPostsList = new LatestPostsList(); $this->latestPostsList->sqlLimit = "20"; $this->latestPostsList->readObjectIDs(); $this->latestPostsList->readObjects(); } public void assignVariables { WCF::getTPL()->assign(array( 'latestPostsList' => $this->latestPostsList )); } }
-
Danke dir, aber das geht so nicht. Der wirft mir nichts raus.
Ich glaube, ich muss da erst noch viel viel lesen und versuchen zu verstehen.
Dabei sah es doch soooooo gut aus -
- Offizieller Beitrag
Seite bleibt weiß = Ändere die PHP-Einstellungen und setze display_errors = on
-
Muhahahaha es geht nun.
Vielen Dank soweit. Jetzt kann ich die Beiträge schön darstellen auf meiner Seite.
Jetzt mache ich mal weider. Ich möchte ja noch das ganze im ACP Einstellen können,
die Seite soll alle x-Sekunden neu laden und und und. Ich basteln mal los und hoffe
das wird wasVielen Danke an euch!
-
So, ich nochmal.
Im Anhang seht ihr mein Ergebnis Ich möchte das nun optisch aufwerten und zwar so wie auf dem zweiten Bild (ist aus der DashBox). Wie nennt sich denn das Template in welchem ich da spicken kann?
-
Ja, ich bin wieder einen Schritt weiter (Siehe Anhang). Ich habe fast alles so wie ich es möchte
Ich kann im ACP die Anzahl der Letzten Beiträge einstellen, man kann in der Liste mit Doppelklick auf die Icons
die Themen als gelesen markieren und es schaut toll auf.Was mit aber jetzt noch fehlt sind die restlichen Funktionalitäten:
- Klick auf Themen als erledigt Markieren tut dies nicht.
Wo finde ich denn diese Funktionalität? Geht das auch direkt über das Template?
Grüße
-
Kann dir nicht helfen, aber sieht super aus!
-
- Offizieller Beitrag
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!