2012-01-26 14 views
2

カスタムモジュールの「編集」ページ内で動作するjQueryタブのDNN 6バージョン(DNNTabs)を取得するのに失敗しました。これはモジュール「設定」と同様のモーダルで開きます")。私はタブとボタンに適用される同じデフォルトのテーマ/ CSSが必要です(設定とほぼ同じように動作するはずです)。DNN 6 jQueryタブ

ここではいくつかのドキュメントの始まりと思われるものがありますが、それほど完全ではありません。

http://www.dotnetnuke.com/Resources/Wiki/Page/dnnTabs-jQuery-Plugin.aspx

私は追従し例えばinterwebsを洗い上げてきましたが、ほとんどすべての例では、元のjQueryのタブおよび/またはDNNと「仕事」へのそれの修正を利用しています。

http://jqueryui.com/demos/tabs/

動作しません。私のコードの開始。

<script type="text/javascript"> 
    $('#tabs').dnnTabs(); 
</script> 
<div id="tabs" class="dnnForm dnnModuleSettings dnnClear"> 
    <ul class="dnnAdminTabNav dnnClear"> 
     <li><a href="#tab1">Tab 1</a></li> 
     <li><a href="#tab2">Tab 2</a></li> 
    </ul> 
    <div id="tab1"> 
     Some content... 
    </div> 
    <div id="tab2"> 
     Some content... 
    </div>   
</div> 

どこか私はそうのように私のOnInitでDNNプラグインの登録を要求する必要が読んで:

protected void OnInit(object sender, System.EventArgs e) 
{ 
    DotNetNuke.Framework.jQuery.RequestDnnPluginsRegistration(); 
} 

私は別の参照、コードの行、何かが足りないのですか? 1)すべてのタブがロード時に表示され、2)タブをクリックするだけでID位置にスクロールしてモーダルになります(後で上にスクロールできません)。

答えて

3

私は完全そうです。私が見る唯一の問題は、タブを定義する前にプラグインを初期化していることです。つまり、まずIDタブを持つ要素を取得し、プラグインを設定しますが、その要素はまだ存在しません。スクリプトをコントロールの一番下に移動すると、スクリプトが機能し始めると思います。

調整する必要がある他のものは、OnInitハンドラです。あなたも、この(およびその他)の私の例を見てみたいことがあり

protected override void OnInit(EventArgs e) 
{ 
    base.OnInit(e); 
    jQuery.RequestDnnPluginsRegistration(); 
} 

プラグインhttps://github.com/bdukes/DNN-World-Demosで:通常、OnInitは、それはこのように見てしまいますので、Control.OnInitのオーバーライドです。これらの例はかなり分かりにくいので、あなたが本当に必要としないCSSスタイルがいくつかあります(使用していない場合)。

+0

どちらもOnInitを変更し、jQueryを下に移動しています(私はそれを知っていました:)それを修正しました。最初のロードでは、すべてが期待通りに表示されますが、ポストバックでは何も表示されません。私はUpdatePanelsを各タブdiv内に追加して、それに従って解決します:http://stackoverflow.com/questions/2149908/jquery-postback-maintain-same-tab-after-postback ところで、 。これらは、DNN Wikiのメインページまたはリンクとして表示されます。 – roadsunknown

+0

ええ、 'div'sの中の' UpdatePanel'のいずれか、または[パネルの例](https://github.com/bdukes/DNN-World)のように、それぞれのポストバックの後にjQueryプラグインを再設定することができます-Demos/blob/master/Panels.ascx)。それらの例をwikiや何かに組み込むことについての話がありましたが、私は実際にそうすることを思い出した人はいないと思います... – bdukes