Gibt es wirgendwo Beispiele, wie das auszusehen hat, templatelistener kenne ich ja schon, aber der eventlistener sagt mir irgendwie garnichts. Ich weiss garnicht wie ich die Datei aufbauen muss.
Beiträge von ruhrpottbobo im Thema „BBCodes integrieren“
-
-
Also soll ich eine Dashboardbox daraus machen und diese dann mit dem Eventlistener einbinden oder wie muss ich das verstehen ?
-
Hmmm, in meinem Footer kannste die Box "Über uns " sehen, wie hätte ich das machen sollen, vielleicht einen Tipp, dann schaue ich mal.
Hätte ich das als Dashboardbox behandeln müssen ?
-
Ich habe wieder was neues gebastelt und möchte da auch die BBCodes zuschalten können, leider funktioniert das ganze nicht wie ich das will. Ich habe folgendes gemacht.
DKMCustomFooterPage.class.php
PHP
Alles anzeigen<?php namespace wcf\page; use wcf\data\product\DKMCustomFooter; use wcf\page\AbstractPage; use wcf\system\bbcode\MessageParser; use wcf\system\WCF; class DKMCustomFooter extends AbstractPage { /** * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); WCF::getTPL()->assign(array( 'dkmcustomfooteraboutcontent' => MessageParser::getInstance()->parse(WCF::getLanguage()->getDynamicVariable(DKM_CUSTOMFOOTER_ABOUTBOX_CONTENT), DKM_CUSTOMFOOTER_ENABLE_SMILEY, DKM_CUSTOMFOOTER_ENABLE_HTML, DKM_CUSTOMFOOTER_ENABLE_BBCODES), )); } }
und die Stelle in dem Template für die Box wo man den BBCode verwenden kann, sieht so aus
Code
Alles anzeigen{if (DKM_CUSTOMFOOTER_ABOUTBOX_CONTENT)} <div class="right_column"> <div id="customFooterAboutBox" class="dkmcustomcolumn"> <legend>{DKM_CUSTOMFOOTERABOUTBOX_TITLE|language}</legend> <div>{@$dkmcustomfooteraboutcontent} {event name='additionalContents'} </div> </div> {/if}
Die Fehlermeldung welche kommt ist diese
Code
Alles anzeigenSat, 02 Jul 2016 08:22:35 +0000 Message: PHP notice in file D:\xampp\htdocs\forum\wcf\templates\compiled\0_wcf_1_dashboard.php (3634): Undefined index: dkmcustomfooteraboutcontent File: D:\xampp\htdocs\forum\wcf\lib\system\WCF.class.php (309) PHP version: 5.6.12 WCF version: 2.1.11 (Typhoon) Request URI: /forum/index.php?dashboard/ Referrer: http://localhost/forum/acp/index.php?package-list/& User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:46.0) Gecko/20100101 Firefox/46.0 Information: "" Stacktrace: #0 D:\xampp\htdocs\forum\wcf\templates\compiled\0_wcf_1_dashboard.php(3634): wcf\system\WCF::handleError(8, 'Undefined index...', 'D:\\xampp\\htdocs...', 3634, Array) #1 D:\xampp\htdocs\forum\wcf\lib\system\template\TemplateEngine.class.php(323): include('D:\\xampp\\htdocs...') #2 D:\xampp\htdocs\forum\wcf\lib\page\AbstractPage.class.php(305): wcf\system\template\TemplateEngine->display('dashboard', 'wcf') #3 D:\xampp\htdocs\forum\wcf\lib\page\AbstractPage.class.php(100): wcf\page\AbstractPage->show() #4 D:\xampp\htdocs\forum\wcf\lib\system\request\Request.class.php(58): wcf\page\AbstractPage->__run() #5 D:\xampp\htdocs\forum\wcf\lib\system\request\RequestHandler.class.php(139): wcf\system\request\Request->execute() #6 D:\xampp\htdocs\forum\index.php(10): wcf\system\request\RequestHandler->handle('wbb') #7 {main}
Hat vielleicht jemand eine Idee
-
Ich habe es mit dem Hinweis aus dem Woltlabforum hinbekommen.
Wer es brauchen kannPHP
Alles anzeigen<?php namespace wcf\system\dashboard\box; use \wcf\system\dashboard\box\DKMcustomDashboardBox; use \wcf\data\dashboard\box\DashboardBox; use \wcf\page\IPage; use wcf\system\bbcode\MessageParser; use wcf\system\WCF; /** * DKM Custompage * * @author Dietmar Sobotzki * @copyright 2016 dokreativmedia.com * @license LGPL * @package com.dokreativmedia.wcf.custompage */ class DKMcustomDashboardBox extends AbstractSidebarDashboardBox { /** * @see wcf\system\dashboard\box\AbstractContentDashboardBox::render() */ protected function render() { WCF::getTPL()->assign(array( 'dkmcontent3' => MessageParser::getInstance()->parse(WCF::getLanguage()->getDynamicVariable(DKM_CUSTOMPAGE_CONTENT_3), DKM_CUSTOMPAGE_ENABLE_SMILEY, DKM_CUSTOMPAGE_ENABLE_HTML, DKM_CUSTOMPAGE_ENABLE_BBCODES), 'dkmcontent4' => MessageParser::getInstance()->parse(WCF::getLanguage()->getDynamicVariable(DKM_CUSTOMPAGE_CONTENT_4), DKM_CUSTOMPAGE_ENABLE_SMILEY, DKM_CUSTOMPAGE_ENABLE_HTML, DKM_CUSTOMPAGE_ENABLE_BBCODES) )); return WCF::getTPL()->fetch('customdashboardBoxDKM'); } }
@zackOmat Du hast natürlich Recht, war Quatsch -
Das weiss ich, was ich nicht wusste warum, mittlerweile weiss ich auch warum
https://community.woltlab.com/…ostID=1526212#post1526212
Aber wie ich das löse, weiss ich noch nicht.
-
Jetzt funktioniert es im Content, aber in der Dashboardbox kommt dieser Fehler.
Ich habe es gleich gemacht wie im Content und verstehe den Fehler nichtCode
Alles anzeigenSat, 04 Jun 2016 15:54:41 +0000 Message: PHP notice in file D:\xampp\htdocs\forum\wcf\templates\compiled\0_wcf_1_customdashboardBoxDKM.php (16): Undefined index: dkmcontent3 File: D:\xampp\htdocs\forum\wcf\lib\system\WCF.class.php (309) PHP version: 5.6.12 WCF version: 2.1.11 (Typhoon) Request URI: /forum/index.php?dkm-custom-page/ Referrer: http://localhost/forum/acp/index.php?option/2909/& User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:46.0) Gecko/20100101 Firefox/46.0 Information: "" Stacktrace: #0 D:\xampp\htdocs\forum\wcf\templates\compiled\0_wcf_1_customdashboardBoxDKM.php(16): wcf\system\WCF::handleError(8, 'Undefined index...', 'D:\\xampp\\htdocs...', 16, Array) #1 D:\xampp\htdocs\forum\wcf\lib\system\template\TemplateEngine.class.php(323): include('D:\\xampp\\htdocs...') #2 D:\xampp\htdocs\forum\wcf\lib\system\template\TemplateEngine.class.php(545): wcf\system\template\TemplateEngine->display('customdashboard...', 'wcf', false) #3 D:\xampp\htdocs\forum\wcf\lib\system\dashboard\box\DKMcustomDashboardBox.class.php(29): wcf\system\template\TemplateEngine->fetch('customdashboard...') #4 D:\xampp\htdocs\forum\wcf\lib\system\dashboard\box\AbstractSidebarDashboardBox.class.php(31): wcf\system\dashboard\box\DKMcustomDashboardBox->render() #5 D:\xampp\htdocs\forum\wcf\lib\system\dashboard\DashboardHandler.class.php(77): wcf\system\dashboard\box\AbstractSidebarDashboardBox->getTemplate() #6 D:\xampp\htdocs\forum\wcf\lib\page\DKMCustomPagePage.class.php(35): wcf\system\dashboard\DashboardHandler->loadBoxes('com.dokreativme...', Object(wcf\page\DKMCustomPagePage)) #7 D:\xampp\htdocs\forum\wcf\lib\page\AbstractPage.class.php(276): wcf\page\DKMCustomPagePage->assignVariables() #8 D:\xampp\htdocs\forum\wcf\lib\page\AbstractPage.class.php(100): wcf\page\AbstractPage->show() #9 D:\xampp\htdocs\forum\wcf\lib\system\request\Request.class.php(58): wcf\page\AbstractPage->__run() #10 D:\xampp\htdocs\forum\wcf\lib\system\request\RequestHandler.class.php(139): wcf\system\request\Request->execute() #11 D:\xampp\htdocs\forum\index.php(10): wcf\system\request\RequestHandler->handle('wbb') #12 {main}
-
Ich habe ja 4 unterschiedliche Texte wo ich die BBCodes ausführen lassen möchte. Wie muss ich das denn dann machen.
-
-
Ich versuche die BBCodes verfügbar zu machen, will aber nicht.
Fehler kommt keiner, deshalb komme ich nicht dahinter
PHP
Alles anzeigen/** * @see \wcf\page\IPage::assignVariables() */ public function assignVariables(){ parent::assignVariables(); DashboardHandler::getInstance()->loadBoxes('com.dokreativmedia.page.customPage', $this); WCF::getTPL()->assign(array('sidebarCollapsed' => UserCollapsibleContentHandler::getInstance()->isCollapsed('com.woltlab.wcf.collapsibleSidebar', 'com.dokreativmedia.page.customPage'), 'sidebarName' => 'com.dokreativmedia.page.customPage', 'dkm_custompage_message_top' => MessageParser::getInstance()->parse(DKM_CUSTOMPAGE_MESSAGE_TOP_ALLOW_BBCODES), 'dkm_custompage_message_bottom' => MessageParser::getInstance()->parse(DKM_CUSTOMPAGE_MESSAGE_BOTTOM_ALLOW_BBCODES), 'dkm_custompage_message_dashboardbox_top' => MessageParser::getInstance()->parse(DKM_CUSTOMPAGE_MESSAGE_DASHBOARDBOX_TOP_ALLOW_BBCODES), 'dkm_custompage_message_dashboardbox_bottom' => MessageParser::getInstance()->parse(DKM_CUSTOMPAGE_MESSAGE_DASHBOARDBOX_BOTTOM_ALLOW_BBCODES))); } }
XML<option name="dkm_custompage_message_bottom_allow_bbcodes"> <categoryname>custompage.general</categoryname> <optiontype>boolean</optiontype> <defaultvalue>0</defaultvalue> </option>
Code
Alles anzeigen{if DKM_CUSTOMPAGE_MESSAGE_BOTTOM && $__wcf->session->getPermission('user.dkm_custompage_message_bottom.canSee')} <div class='dkmboxbottom'> {if DKM_CUSTOMPAGE_MESSAGE_BOTTOM_ALLOW_HTML} {@DKM_CUSTOMPAGE_MESSAGE_BOTTOM|language} {else} <p>{DKM_CUSTOMPAGE_MESSAGE_BOTTOM|language|newlineToBreak}</p> {event name='additionalContents'} {/if} </div> {/if}