BBCodes integrieren

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • BBCodes integrieren

    Ich versuche die BBCodes verfügbar zu machen, will aber nicht. :(

    Fehler kommt keiner, deshalb komme ich nicht dahinter

    PHP Source Code

    1. /**
    2. * @see \wcf\page\IPage::assignVariables()
    3. */
    4. public function assignVariables(){
    5. parent::assignVariables();
    6. DashboardHandler::getInstance()->loadBoxes('com.dokreativmedia.page.customPage', $this);
    7. WCF::getTPL()->assign(array('sidebarCollapsed' => UserCollapsibleContentHandler::getInstance()->isCollapsed('com.woltlab.wcf.collapsibleSidebar', 'com.dokreativmedia.page.customPage'),
    8. 'sidebarName' => 'com.dokreativmedia.page.customPage',
    9. 'dkm_custompage_message_top' => MessageParser::getInstance()->parse(DKM_CUSTOMPAGE_MESSAGE_TOP_ALLOW_BBCODES),
    10. 'dkm_custompage_message_bottom' => MessageParser::getInstance()->parse(DKM_CUSTOMPAGE_MESSAGE_BOTTOM_ALLOW_BBCODES),
    11. 'dkm_custompage_message_dashboardbox_top' => MessageParser::getInstance()->parse(DKM_CUSTOMPAGE_MESSAGE_DASHBOARDBOX_TOP_ALLOW_BBCODES),
    12. 'dkm_custompage_message_dashboardbox_bottom' => MessageParser::getInstance()->parse(DKM_CUSTOMPAGE_MESSAGE_DASHBOARDBOX_BOTTOM_ALLOW_BBCODES)));
    13. }
    14. }
    Display All


    XML Source Code

    1. <option name="dkm_custompage_message_bottom_allow_bbcodes">
    2. <categoryname>custompage.general</categoryname>
    3. <optiontype>boolean</optiontype>
    4. <defaultvalue>0</defaultvalue>
    5. </option>




    Smarty-Template

    1. {if DKM_CUSTOMPAGE_MESSAGE_BOTTOM && $__wcf->session->getPermission('user.dkm_custompage_message_bottom.canSee')}
    2. <div class='dkmboxbottom'>
    3. {if DKM_CUSTOMPAGE_MESSAGE_BOTTOM_ALLOW_HTML}
    4. {@DKM_CUSTOMPAGE_MESSAGE_BOTTOM|language}
    5. {else}
    6. <p>{DKM_CUSTOMPAGE_MESSAGE_BOTTOM|language|newlineToBreak}</p>
    7. {event name='additionalContents'}
    8. {/if}
    9. </div>
    10. {/if}
    Display All
    MfG bobo
  • Also du musst folgendes ausführen


    PHP Source Code

    1. MessageEmbeddedObjectManager::getInstance()->setActiveMessage('dein.object.type.für.com.woltlab.message', $this->objectID);
    2. MessageParser:: getInstance()->setOutputType('text/html');
    3. $message = MessageParser:: getInstance()->parse($this->text, $this->enableSmilies, $this->enableHtml, $this->enableBBCodes);
    So und dann kannst du die Variable $message an das Template übergeben und ausgeben :)
  • Jetzt funktioniert es im Content, aber in der Dashboardbox kommt dieser Fehler.
    Ich habe es gleich gemacht wie im Content und verstehe den Fehler nicht

    Source Code

    1. Sat, 04 Jun 2016 15:54:41 +0000
    2. Message: PHP notice in file D:\xampp\htdocs\forum\wcf\templates\compiled\0_wcf_1_customdashboardBoxDKM.php (16): Undefined index: dkmcontent3
    3. File: D:\xampp\htdocs\forum\wcf\lib\system\WCF.class.php (309)
    4. PHP version: 5.6.12
    5. WCF version: 2.1.11 (Typhoon)
    6. Request URI: /forum/index.php?dkm-custom-page/
    7. Referrer: http://localhost/forum/acp/index.php?option/2909/&
    8. User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:46.0) Gecko/20100101 Firefox/46.0
    9. Information: ""
    10. Stacktrace:
    11. #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)
    12. #1 D:\xampp\htdocs\forum\wcf\lib\system\template\TemplateEngine.class.php(323): include('D:\\xampp\\htdocs...')
    13. #2 D:\xampp\htdocs\forum\wcf\lib\system\template\TemplateEngine.class.php(545): wcf\system\template\TemplateEngine->display('customdashboard...', 'wcf', false)
    14. #3 D:\xampp\htdocs\forum\wcf\lib\system\dashboard\box\DKMcustomDashboardBox.class.php(29): wcf\system\template\TemplateEngine->fetch('customdashboard...')
    15. #4 D:\xampp\htdocs\forum\wcf\lib\system\dashboard\box\AbstractSidebarDashboardBox.class.php(31): wcf\system\dashboard\box\DKMcustomDashboardBox->render()
    16. #5 D:\xampp\htdocs\forum\wcf\lib\system\dashboard\DashboardHandler.class.php(77): wcf\system\dashboard\box\AbstractSidebarDashboardBox->getTemplate()
    17. #6 D:\xampp\htdocs\forum\wcf\lib\page\DKMCustomPagePage.class.php(35): wcf\system\dashboard\DashboardHandler->loadBoxes('com.dokreativme...', Object(wcf\page\DKMCustomPagePage))
    18. #7 D:\xampp\htdocs\forum\wcf\lib\page\AbstractPage.class.php(276): wcf\page\DKMCustomPagePage->assignVariables()
    19. #8 D:\xampp\htdocs\forum\wcf\lib\page\AbstractPage.class.php(100): wcf\page\AbstractPage->show()
    20. #9 D:\xampp\htdocs\forum\wcf\lib\system\request\Request.class.php(58): wcf\page\AbstractPage->__run()
    21. #10 D:\xampp\htdocs\forum\wcf\lib\system\request\RequestHandler.class.php(139): wcf\system\request\Request->execute()
    22. #11 D:\xampp\htdocs\forum\index.php(10): wcf\system\request\RequestHandler->handle('wbb')
    23. #12 {main}
    Display All
    MfG bobo
  • Super das du deine Beiträge gelöscht und das Thema unbrauchbar gemacht hast, da fühlt sich der Entwickler bestimmt auch gar nicht verarscht und wird dir sicher auch künftig gerne weiter helfen 8)

    Ansonsten hat er dir doch den entscheidenden Hinweis gegeben, wenn du das nicht verstehst, dann arbeite doch erst mal an deinen PHP-Kenntnissen anstatt darauf zu warten das dir jemand einen fertigen C&P-Code vorsetzt.

    Es gibt im WCF so viele Dashboardboxen, was hindert dich daran von denen zu lernen?
    Nur wegen den Plugins hier <3
  • Ich habe es mit dem Hinweis aus dem Woltlabforum hinbekommen.
    Wer es brauchen kann

    PHP Source Code

    1. <?php
    2. namespace wcf\system\dashboard\box;
    3. use \wcf\system\dashboard\box\DKMcustomDashboardBox;
    4. use \wcf\data\dashboard\box\DashboardBox;
    5. use \wcf\page\IPage;
    6. use wcf\system\bbcode\MessageParser;
    7. use wcf\system\WCF;
    8. /**
    9. * DKM Custompage
    10. *
    11. * @author Dietmar Sobotzki
    12. * @copyright 2016 dokreativmedia.com
    13. * @license LGPL
    14. * @package com.dokreativmedia.wcf.custompage
    15. */
    16. class DKMcustomDashboardBox extends AbstractSidebarDashboardBox {
    17. /**
    18. * @see wcf\system\dashboard\box\AbstractContentDashboardBox::render()
    19. */
    20. protected function render() {
    21. WCF::getTPL()->assign(array(
    22. 'dkmcontent3' => MessageParser::getInstance()->parse(WCF::getLanguage()->getDynamicVariable(DKM_CUSTOMPAGE_CONTENT_3), DKM_CUSTOMPAGE_ENABLE_SMILEY, DKM_CUSTOMPAGE_ENABLE_HTML, DKM_CUSTOMPAGE_ENABLE_BBCODES),
    23. 'dkmcontent4' => MessageParser::getInstance()->parse(WCF::getLanguage()->getDynamicVariable(DKM_CUSTOMPAGE_CONTENT_4), DKM_CUSTOMPAGE_ENABLE_SMILEY, DKM_CUSTOMPAGE_ENABLE_HTML, DKM_CUSTOMPAGE_ENABLE_BBCODES)
    24. ));
    25. return WCF::getTPL()->fetch('customdashboardBoxDKM');
    26. }
    27. }
    Display All

    @zackOmat Du hast natürlich Recht, war Quatsch
    MfG bobo
  • 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 Source Code

    1. <?php
    2. namespace wcf\page;
    3. use wcf\data\product\DKMCustomFooter;
    4. use wcf\page\AbstractPage;
    5. use wcf\system\bbcode\MessageParser;
    6. use wcf\system\WCF;
    7. class DKMCustomFooter extends AbstractPage {
    8. /**
    9. * @see wcf\page\IPage::assignVariables()
    10. */
    11. public function assignVariables() {
    12. parent::assignVariables();
    13. WCF::getTPL()->assign(array(
    14. 'dkmcustomfooteraboutcontent' => MessageParser::getInstance()->parse(WCF::getLanguage()->getDynamicVariable(DKM_CUSTOMFOOTER_ABOUTBOX_CONTENT), DKM_CUSTOMFOOTER_ENABLE_SMILEY, DKM_CUSTOMFOOTER_ENABLE_HTML, DKM_CUSTOMFOOTER_ENABLE_BBCODES),
    15. ));
    16. }
    17. }
    Display All



    und die Stelle in dem Template für die Box wo man den BBCode verwenden kann, sieht so aus

    Smarty-Template

    1. {if (DKM_CUSTOMFOOTER_ABOUTBOX_CONTENT)}
    2. <div class="right_column">
    3. <div id="customFooterAboutBox" class="dkmcustomcolumn">
    4. <legend>{DKM_CUSTOMFOOTERABOUTBOX_TITLE|language}</legend>
    5. <div>{@$dkmcustomfooteraboutcontent}
    6. {event name='additionalContents'}
    7. </div>
    8. </div>
    9. {/if}



    Die Fehlermeldung welche kommt ist diese


    Source Code

    1. Sat, 02 Jul 2016 08:22:35 +0000
    2. Message: PHP notice in file D:\xampp\htdocs\forum\wcf\templates\compiled\0_wcf_1_dashboard.php (3634): Undefined index: dkmcustomfooteraboutcontent
    3. File: D:\xampp\htdocs\forum\wcf\lib\system\WCF.class.php (309)
    4. PHP version: 5.6.12
    5. WCF version: 2.1.11 (Typhoon)
    6. Request URI: /forum/index.php?dashboard/
    7. Referrer: http://localhost/forum/acp/index.php?package-list/&
    8. User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:46.0) Gecko/20100101 Firefox/46.0
    9. Information: ""
    10. Stacktrace:
    11. #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)
    12. #1 D:\xampp\htdocs\forum\wcf\lib\system\template\TemplateEngine.class.php(323): include('D:\\xampp\\htdocs...')
    13. #2 D:\xampp\htdocs\forum\wcf\lib\page\AbstractPage.class.php(305): wcf\system\template\TemplateEngine->display('dashboard', 'wcf')
    14. #3 D:\xampp\htdocs\forum\wcf\lib\page\AbstractPage.class.php(100): wcf\page\AbstractPage->show()
    15. #4 D:\xampp\htdocs\forum\wcf\lib\system\request\Request.class.php(58): wcf\page\AbstractPage->__run()
    16. #5 D:\xampp\htdocs\forum\wcf\lib\system\request\RequestHandler.class.php(139): wcf\system\request\Request->execute()
    17. #6 D:\xampp\htdocs\forum\index.php(10): wcf\system\request\RequestHandler->handle('wbb')
    18. #7 {main}
    Display All


    Hat vielleicht jemand eine Idee ;(
    MfG bobo