2010-11-29 22 views
0

ウェブサイトのすべての「コンテンツ」ページをDNN5 Proに移行しようとしています。ページの動的コンテンツ

DNNのすべてのページを作成し、HTMLモジュールをContentPaneに追加し、古いページのHTMLコンテンツをコピーして貼り付けました。

問題は、ほとんどのページでは、サーバー側のタスクをいくつか行う古典的なASPコードがあることです。たとえば、DBから値をフェッチしてテーブルを作成し、IPアドレスに基づいてユーザーの国を事前に選択し、doいくつかの基本日付の計算などが含まれます。

明らかに、このコードはDNNでは機能しません。

PHPに移行する必要があった場合は、これらのコードを従来のASPからPHPに書き換えて、PHPからsmartyに値を割り当てて、テンプレートで使用します。

しかし、DNNは完全に異なるアーキテクチャーなので、私はどのように似たようなアプローチが使用できるのか分かりません。

HTMLモジュールのトークン置換機能は、私が必要とするように見えますが、DNNが提供するトークンのみを「マップ」することができます。

誰かがDNNと同様の問題を抱えていた可能性があります。

答えて

0

スキンファイルに直接コードを書くことができます。

<%If PortalSettings.ActiveTab.TabID = 33 Then 

//code here of what you want 

End If%> 

ここで、33はカスタムコードを実行するページのページIDです。これを行うには、スキンオブジェクトの作成やカスタムモジュールの作成などの方法がありますが、これはおそらく最も簡単な方法です。あなたのスキンに直接コードを書くだけです。または、カスタムコードを行うために必要な各ページのスキンのコピーを作成してください...もう一度、よりエレガントな方法が、これは完了します。

+0

ありがとう、私はこのオプションに固執すると思います! –

+0

申し訳ありませんが、恐ろしい考えのように聞こえます。 DNNページごとにカスタムスキンファイルを作成する場合は、DNNを使用するポイントは何ですか。機能は、スキンの中で直接ではなく、モジュール(および時にはスキンオブジェクト)に配置する必要があります。 – EfficionDave

+0

それは依然として異なります。私はVitalyにとって最も簡単なソリューションを投稿していました。上記の彼のコメントに基づいて、彼は「マイナー」と言った。彼はフレームワークの初心者であり、私は彼が各ページのカスタムモジュールを始めることを期待していません。 –

1

あなたはDotNetNukeの全体のポイントを覆そうとしているようです。確かにPHPのサイトのようにこの仕事をしようとすることができますハッキーな様々な方法がありますが、それを行うにはひどい考えです。

代わりに、phpサイトの各動的セクションを評価し、その機能を複製するDotNetNukeモジュールを見つけ出すか作成する必要があります。

最初の変換を高速にするには、単純なASPスタイルのインラインスクリプトを使用して作成するモジュールを作成できますが、グリッド内にデータを表示する場合などには既存のモジュールを使用する必要があります。

+1

このテクニックを使用してモジュール開発を始めるために、Vitalyにいくつかのリソースを投稿できますか?おそらく彼はもっと複雑なことをするのを手伝ってくれるでしょう。また、名前でモジュールを参照することはおそらく何らかの用途にも使われるでしょう。コアのReportsモジュールでは、「グリッド」にデータを表示できますが、それはあまり役に立ちません。一方、TressleWorksコンポーネントは優れています。 –

+0

私は間違ったアプローチをとっていることを知っていますが、目標はできるだけ早く少なくともコンテンツページを移行することです。それから、ウェブサイト全体をDNNモジュールに移動することができます。だから、私はちょうど最も速い(そして最も汚れた方法であることが分かりました)方法を探していました。 –

+0

私は、最速のアプローチを使用して後で戻ってクリーンアップを行う必要があることを理解します。私はスキンがそれを行う場所だとは思わない。 DNNの最新バージョンでは、簡単なカスタムモジュール開発が簡単に行えます。それはあなたのためのファイルと定義を生成し、あなたが作成するascxファイルにスクリプトを追加するだけです。また、Shawn Walker氏は、最近、すばやくインラインスクリプティングに関する素晴らしいブログを投稿しました。 http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryId/2832/Inline-Script-Module-Development-in-DotNetNuke.aspx。 – EfficionDave

関連する問題