Gibts eigentlich eine Dokumentation fürs WCF oder muss man sich alles zusammensuchen indem man andere Plugins zerlegt ?
Dokumentation für WCF
-
ruhrpottbobo -
12. April 2016 um 22:54 -
Geschlossen
Bitte in den Beiträgen keine externe Bilder einbinden, sondern nur die Dateianhänge verwenden.
Vielen dank.
Vielen dank.
-
-
da gibts eine technische Dokumentation: https://www.woltlab.com/downloads/manual/wcfdoc_de.pdf
und hier gibts einen Leitfaden bzw HowTo für ein Plugin: https://kittblog.com/article/2/comm…-eigene-plugin/Black Riders Blog-Artikel hier -> https://kittblog.com/article/2/community-framework/
sind allgemein sehr empfehlenswert zur Weiterbildung... -
Das von Black Rider finde ich schon nicht schlecht, ich bin gerade dabei mich ein bischen damit auseinanderzusetzen. Leider scheitere ich schon an der if else Anweisung. Ich will damit keinen Text anzeigen, sondern mich würde mehr interessieren, diese Examplepage damit zu deaktivieren, wenn ich den Haken rausnehme. Muss diese dann auch im Template verbaut werden ?
-
nein, dann wird die Option nur in der PHP Datei verarbeitet und dort mit einem if/then eine exception ausgelöst, wenn die Option false ist. Einen eventuellen Menüpunkt musst du dann aber auch noch deaktivieren.
-
das von kittblog hab ich mir auch angeschaut gehabt, und damit angefangen mit den plugins und es funktioniert recht gut muss ich sagen
-
wcfdoku.de
-
nein, dann wird die Option nur in der PHP Datei verarbeitet und dort mit einem if/then eine exception ausgelöst, wenn die Option false ist. Einen eventuellen Menüpunkt musst du dann aber auch noch deaktivieren.
Also muss die if then Anweisung in diese Datei rein ?
PHP
Alles anzeigen<?php <?php namespace wcf\page; /** * Shows the example page. * * @author KittBlog Stile * @copyright 2013 kittblog.com * @license LGPL * @package com.kittblog.wcf.examplepage */ class ExamplePage extends AbstractPage { /** * @see wcf\page\AbstractPage::$activeMenuItem */ public $activeMenuItem = 'wcf.page.example'; }
Wo denn da und wie muss das aussehen ?
-
Laut dem Beispiel kommt die if else abfrage ins template
HTML{if EXAMPLE_PAGE_OPTION == true} {lang}wcf.page.example.optionTrue{/lang} {else} {lang}wcf.page.example.optionFalse{/lang} {/if}
im ersten if Bereich bei true kommt wenn der haken gesetzt ist und im else Bereich wenn kein haken gesetzt wurde.
-
Das ist aber nur für text und ich will ja die Startseite deaktivierbar machen mit einer if Abfrage.
-
meinst du die komplette Startseite also Dashboard?
-
Diese Example Page ist doch eine eigene Seite und die möchte ich deaktivierbar machen.
-
Dann musst du den template Code also das mit dem html in den ersten if und im else kannst du eine Fehlermeldung ausgeben.
Beispiel:
HTML
Alles anzeigen{if EXAMPLE_PAGE_OPTION == true} {include file='documentHeader'} <head> <title>{lang}wcf.page.example.title{/lang} - {PAGE_TITLE|language}</title> {include file='headInclude' sandbox=false} </head> <body id="tpl{$templateName|ucfirst}"> {include file='header'} <header class="boxHeadline"> <h1>{lang}wcf.page.example.title{/lang}</h1> </header> {include file='userNotice'} <div class="container marginTop"> <ul class="containerList exampleList"> <li class="exampleBox"> <div> <div class="containerHeadline"> <h3>{lang}wcf.page.example.secondTitle{/lang}</h3> <p>{lang}wcf.page.example.content{/lang}</p> </div> </div> </li> </ul> </div> {include file='footer'} </body> </html> {else} hier lässt dus halt leer oder packst nochmal den htmlcode von der examplepage rein und schmeisst ne Errormeldung raus, dass die Seite deaktiviert ist :) {/if}
-
Das kann man sogar ohne else machen, funktioniert auch, aber leider bleibt oben der Menüpunkt erhalten, wenn ich denn mit nem if wegbekomme, dann wäre es perfekt. So habe ich nur ne leere weisse Seite.
-
Am besten das direkt in die Seite reinschreiben(in die Page.class.php)
PHP
Alles anzeigen<?php namespace wcf\page; /** * Shows the example page. * * @author KittBlog Stile * @copyright 2013 kittblog.com * @license LGPL * @package com.kittblog.wcf.examplepage */ class ExamplePage extends AbstractPage { /** * @see wcf\page\AbstractPage::$activeMenuItem */ public $activeMenuItem = 'wcf.page.example'; /** * needed modules to view this page * @var array<string> */ public $neededModules = array('EXAMPLE_PAGE_OPTION'); }
-
-
ach damit blendest du nur die Seite aus.
Um den Menüpunkt auszublenden muss in der Datenbank diese Option eingetragen werdenbzw. in der Page.xml
XML<?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 http://www.woltlab.com/XSD/pagemenu.xsd"> <import> <pagemenuitem name="de.deine-webseite.package.page"> <controller><![CDATA[wcf\page\ExamplePage]]></controller> <position>header</position> <options>example_page_option</options> </pagemenuitem> </import> </data>