
WCF 2 Programmier-Tutorials - Übersicht
- Christopher Walz
- Closed
-
-
Danke, funktioniert wunderbar - hätte nicht gedacht, dass das so simpel ist
-
Das hab ich mittlerweile gut hinbekommen.
Was leider noch nicht klappt, ist das Abbrechen/Schließen des Dialogs. Hier mein Ansatz:JavaScript
Display Morefunction handleClickOfUseTimeNowBox(){ if($("#checkboxUseTimeNow").is(':checked')){ $('#dateSelector').hide(); } else { $('#dateSelector').show(); } } function showDateSelectorDialog(taskID, computerID){ var requestDateSelectorDialog = $("<div id=\"requestedDateSelectorDialog\"></div>").appendTo('body'); var headerField = $("<header class=\"box48 boxHeadline\"><span class=\"icon icon48 icon-question\"></span><h1>{lang}ltb-labs.cm.task.run.properties.title{/lang}</h1></header>").appendTo(requestDateSelectorDialog); var form = $("<form method=\"post\" action=\"{link controller='RunTask' application='cm'}computerID={$computer->getObjectID()}&t={SECURITY_TOKEN}{/link}&predefinedTaskID="+ taskID + "\"></form>").appendTo(requestDateSelectorDialog); var fieldset = $("<fieldset><legend></legend></fieldset>").appendTo(form); var checkboxUseTimeNow = $("<dl id=\"checkboxUseTimeNowBox\"><dt></dt><dd><label><input type=\"checkbox\" id=\"checkboxUseTimeNow\" name=\"checkboxUseTimeNow\" onclick=\"handleClickOfUseTimeNowBox();\" value=\"1\" checked=\"checked\" /> {lang}ltb-labs.cm.task.run.properties.useTimeNow{/lang}</label></dd></dl>").appendTo(fieldset); var dateTimeSelector = $("<dl id=\"dateSelector\"><dt>{lang}ltb-labs.cm.task.run.properties.useTime{/lang}</dt><dd><input type=\"datetime\" name=\"requestDate\"/></dd></dl>").hide().appendTo(fieldset); var formSubmit = $("<div class=\"formSubmit\"></div>").appendTo(form); var sendButton = $("<button class=\"buttonPrimary\">{lang}wcf.global.button.submit{/lang}</button>").appendTo(formSubmit); var cancelButton = $("<button>{lang}wcf.global.button.cancel{/lang}</button>").appendTo(formSubmit); $('#requestedDateSelectorDialog').wcfDialog({ closable: false, title: '{lang}ltb-labs.cm.task.run.properties{/lang}' }); cancelButton.on('click',function(event){ $("#requestedDateSelectorDialog").wcfDialog('close'); }); }
Ich habe es auch bereis mit requestDateSelectorDialog.wcfDialog('close'); bzw. requestDateSelectorDialog.close(); versucht, jedoch nicht wirklich mit Erfolg.. -
Nur so eine Idee: Die Verwendung von " in einem String der mit " umschlossen wird, war schon immer keine gute Idee. Nicht umsonst verwenden wir immer ', ansonsten muss man alles wie ein Depp mit Backslashes zumüllen.
Ansonsten: Developer Tools von einem Browser öffnen und auf Console klicken, in der Regel hat man sofort die Antwort, warum etwas nicht funktioniert
-
Ich verstehe es einfach nicht...
Ich habe eine Liste, in der Elemente bis auf eine Unterebene miteinander verbunden werden können. Wenn ich beim Erstellen oder Editieren eines Eintrags das Parent-Element wähle, wird es auch korrekt in der Liste als Child-Element angezeigt und auch andere Einträge lassen sich in Childs umwandeln. Existiert jedoch kein Child-Element in der Liste und ich versuche, ein Element in ein Parent-Element zu ziehen, geht es nicht.
[Blocked Image: https://www.diigo.com/item/p/qdporoszbrooporopzbbradqds/d5cc6ee0b2ed9c3e9688f6db0a9077f6]
Die Childs erhalten keine Nummerierung und beim Speichern der Liste werden diese Änderungen auch nicht übernommen.
Smarty
Display More{include file='header' pageTitle='wcf.acp.termsOfUse.list'} <script data-relocate="true"> //<![CDATA[ $(function() { new WCF.Action.Delete('wcf\\data\\termsofuse\\term\\TermsOfUseTermAction', '.sortableNode', '> .sortableNodeLabel .jsDeleteButton'); new WCF.Action.Toggle('wcf\\data\\termsofuse\\term\\TermsOfUseTermAction', '.sortableNode', '> .sortableNodeLabel .jsToggleButton'); {if $terms|count} new WCF.Sortable.List('termList', 'wcf\\data\\termsofuse\\term\\TermsOfUseTermAction', undefined, { }, false); {/if} }); //]]> </script> <header class="boxHeadline"> <h1>{lang}wcf.acp.termsOfUse.list{/lang}</h1> </header> <div class="contentNavigation"> <nav> <ul> <li><a href="{link controller='TermsOfUseTermAdd'}{/link}" class="button"><span class="icon icon16 icon-plus"></span> <span>{lang}wcf.acp.termsOfUse.add{/lang}</span></a></li> {event name='contentNavigationButtonsTop'} </ul> </nav> </div> {hascontent} <div class="container containerPadding marginTop"> <fieldset> <legend>{lang}wcf.acp.termsOfUse.listAvaialableTerms{/lang}</legend> <div id="termList" class="sortableListContainer"> <ol class="sortableList" data-object-id="0"> {content} {foreach from=$terms item=term} <li class="sortableNode" data-object-id="{@$term->termID}"> <span class="sortableNodeLabel"> <a href="{link controller='TermsOfUseTermEdit' id=$term->termID}{/link}">{$term->title|language}</a> <span class="statusDisplay sortableButtonContainer"> <span class="icon icon16 icon-check{if $term->isDisabled}-empty{/if} jsToggleButton jsTooltip pointer" title="{lang}wcf.global.button.{if $term->isDisabled}enable{else}disable{/if}{/lang}" data-object-id="{@$term->termID}" data-disable-message="{lang}wcf.global.button.disable{/lang}" data-enable-message="{lang}wcf.global.button.enable{/lang}"></span> <a href="{link controller='TermsOfUseTermEdit' id=$term->termID}{/link}" class="jsTooltip" title="{lang}wcf.global.button.edit{/lang}"><span class="icon icon16 icon-pencil"></span></a> <span class="icon icon16 icon-remove jsDeleteButton jsTooltip pointer" title="{lang}wcf.global.button.delete{/lang}" data-object-id="{@$term->termID}" data-confirm-message="{lang __term=$term}wcf.acp.termsOfUse.delete.sure{/lang}"></span> {event name='termButtons'} </span> </span> {if $term|count} <ol class="sortableList" data-object-id="{@$term->termID}"> {foreach from=$term item=childTerm} <li class="sortableNode sortableNoNesting" data-object-id="{@$childTerm->termID}"> <span class="sortableNodeLabel"> <a href="{link controller='TermsOfUseTermEdit' id=$childTerm->termID}{/link}">{$childTerm->title|language}</a> <span class="statusDisplay sortableButtonContainer"> <span class="icon icon16 icon-check{if $childTerm->isDisabled}-empty{/if} jsToggleButton jsTooltip pointer" title="{lang}wcf.global.button.{if $childTerm->isDisabled}enable{else}disable{/if}{/lang}" data-object-id="{@$childTerm->termID}" data-disable-message="{lang}wcf.global.button.disable{/lang}" data-enable-message="{lang}wcf.global.button.enable{/lang}"></span> <a href="{link controller='TermsOfUseTermEdit' id=$childTerm->termID}{/link}" class="jsTooltip" title="{lang}wcf.global.button.edit{/lang}"><span class="icon icon16 icon-pencil"></span></a> <span class="icon icon16 icon-remove jsDeleteButton jsTooltip pointer" title="{lang}wcf.global.button.delete{/lang}" data-object-id="{@$childTerm->termID}" data-confirm-message="{lang __term=$childTerm}wcf.acp.termsOfUse.delete.sure{/lang}"></span> {event name='subTermButtons'} </span> </span> </li> {/foreach} </ol> {/if} </li> {/foreach} {/content} </ol> <div class="formSubmit"> <button data-type="submit">{lang}wcf.global.button.saveSorting{/lang}</button> {@SECURITY_TOKEN_INPUT_TAG} </div> </div> </fieldset> </div> {hascontentelse} <p class="info">{lang}wcf.acp.termsOfUse.noneAvailable{/lang}</p> {/hascontent} <div class="contentNavigation"> <nav> <ul> <li><a href="{link controller='TermsOfUseTermAdd'}{/link}" class="button"><span class="icon icon16 icon-plus"></span> <span>{lang}wcf.acp.termsOfUse.add{/lang}</span></a></li> {event name='contentNavigationButtonsBottom'} </ul> </nav> </div> {include file='footer'}
-
Ich hoffe, dass ich hier richtig bin.
Wer hat sich den bereit erklärt Wer war online Liste zu machen? Der alte Plugin Entwickler scheint gar nicht mehr zu reagieren. Der Plugin Funktioniert nicht mehr.
-
Ich hoffe, dass ich hier richtig bin.
Wer hat sich den bereit erklärt Wer war online Liste zu machen? Der alte Plugin Entwickler scheint gar nicht mehr zu reagieren. Der Plugin Funktioniert nicht mehr.
http://www.web-produktion.com/board/index.php?page=Product&productID=9&categoryID=0
-
Danke für die Antwort. Ich hatte mir damals bei WBB Kundensupport den Plugin Wer war online Liste http://www.woltlab.com/de/plug…/plugin.html?pluginID=705 für WBB3 geholt. Kann sein das ich mir das noch mal neu holen muss für WBB4 oder wie verhält sich das, wenn man das schon gekauft hat? Ist es fertig entwickelt?
-
Das ist von einem anderen Hersteller...
-
Das ist von einem anderen Hersteller...
Das ist mir gar nicht aufgefallen. Kann sein das viele gewechselt haben?
Sorry für off Topic.
@Black Rider Müssen bei Dir die Stammkunden die Plugins auch komplett neu holen oder ist das anders geregelt wurden?
-
Das neue Wer War Online Plugin ist von mir, du wirst dir das Plugin neu kaufen müssen wenn du meins benutzen möchtest. Ob von snakefood eine neue Version kommt kann ich nicht sagen.
-
Black Rider Müssen bei Dir die Stammkunden die Plugins auch komplett neu holen oder ist das anders geregelt wurden?
Es wird vermutlich von mir keine Updatemöglichkeiten geben.
Für Kunden aus dem Plugin-Store sowieso nicht, da das dort gar nicht möglich ist. -
Hm... Kann es sein, dass mein Problem auf einen Bug zurückzuführen ist?!
-
Danke für die Auskunft und Antwort @Black Rider und @Marc
-
Sagt mal hat jemand spontan eine Idee wie ich mich ins MessageForm einklinken kann?
Ich möchte einfach bei der Erstellung/Edit eines Blogartikels hinter Smilies, Dateianhänge, Einstellungen, Umfrage einen weiteren Tab hinzufügen über dem weitere optionale Einstellungen getätigt werden können, hab aber grad keine Idee wie ich anfange.
Freue mich auf Feedback.
-
Ggf. EventListener? Template-Events?
-
Ich hoffe, dass ich hier richtig bin.
Wer hat sich den bereit erklärt Wer war online Liste zu machen? Der alte Plugin Entwickler scheint gar nicht mehr zu reagieren. Der Plugin Funktioniert nicht mehr.
Gibt es übrigens alternativ auch kostenlos.
„Wer war online“-Liste -
Ich habe ein Problem mit der UsersOnlineList. Ich kriege es einfach nicht hin, hier einen Filter im Nachinein anzuwenden:
Code$eventObj->objectList->getConditionBuilder()->add('user_table.userID NOT IN (SELECT userID FROM wcf' . WCF_N . '_user_option_value WHERE userOption' . User::getUserOptionID('stopforumspam_userstatus') . ' = ?)', array(2) );
Hier erhalte ich nur die Meldung
QuoteColumn not found: 1054 Unknown column 'user_table.userID' in 'IN/ALL/ANY subquery'
Verwende ich statt user_table jedoch session, wird zwar gefiltert, jedoch werden keine Gäste/Bots mehr angezeigt
-
-
Ggf. EventListener? Template-Events?
Worauf genau sollte ich den Listener denn setzen? Also in meinem Beispiel möchte ich das EntryAddForm vom Blog um einen Tab erweitern. (eine einfache Variable definieren) Hierfür sieht mein EventListener so aus:
<eventlistener>
<eventclassname>blog\form\EntryAddForm</eventclassname>
<eventname>assignVariables</eventname>
<listenerclassname>blog\system\event\listener\EntryAddTestListener</listenerclassname>
</eventlistener>stimmt das soweit? weil das Ganze irgendwie keine Wirkung hat
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!