長らくお待たせしました! DotNetNuke 5.2.0 の日本語言語パックの公開を開始しました。 作成時期の関係で、最新版の 5.2.1 ではないのですが、この言語パックは 5.2.1にもインストール可能です。 5.2.1 の公開も早々に開始しますので、お待ちください。
お世話になっております。
自作スキンを適用したときのモジュールの設置場所について質問です。
デフォルトのスキンですとモジュールを追加する際、「Toppane」、「Leftpane」、「Contentpane」等、設置場所がプルダウンで選べるのですが、自作スキンを適用した際、選択項目が「Contenepane」しか出てきません。
モジュールの設置場所の追加はどのように行うのでしょうか?
また、現在はDNN及びスキン製作の勉強を始めたばかりのため、外見だけのskinでcontainers(モジュールのスキン)は作成していません。containers(モジュールのスキン)を作成して適用すると勝手に選択項目が出るのでしょうか?
それとも自分で「Toppane」、「Leftpane」、「Contentpane」等の場所をHTMLで記述して定義するのでしょうか?
わかりにくい質問で申し訳御座いませんが、ご教授頂ければ幸いです(>_<)
スキン制作はhtmlファイルで作っているのでしょうか?それともascxファイルでしょうか?
htmlファイルの場合であれば、簡単に書くと以下のようにします。
<div id="LeftPane" runat="server"> </div>
<div id="RightPane" runat="server"> </div>
<div id="ContentPane" runat="server"> </div>
つまり、この場合だとdivタグのidに割り当てた名前がpane名になって選択可能になります。名前は何でもかまいませんが、ContentPaneは必ず一つは出てこないといけないようです。
注意点としては、各idの後にあるrunat="server"です。これを書かないとpaneとして認識されません。
なお、実際にスキンとしてアップロードしてページに適用し、htmlソースを見ると分かりますが、上で割り当てたidはそのままではなく、DotNetNukeが追加した文字列が頭に付加されています。これはrunat="server"を付与したことで、DotNetNukeがサーバ用として認識して処理した結果です。
このことで、idはcssでデザインを指定するセレクタとしては利用できないということがわかると思います。つまりpaneを配置したり色をつけたりする場合にはidではなく、classを割り当てて、それを利用してデザインを指定します。
これがDotNetNukeのスキンの基本的なデザイン手法になります。