3

シナリオ: すべてのページに非常に標準的なマスター ページがあります。これには、通常のログイン フォームと、各ページで抽出されるその他の動的リストが含まれます。Web デザイナーは、各ページの中心的なコンテンツ プレース ホルダーを既に変更できます。ただし、マスター ページのデザインとレイアウトはまだプロジェクト内にあり、デザインの変更は Visual Studio で行い、プロジェクトを再コンパイルして再配置する必要があります。

CMS を介してマスター ページをデザインするためのほぼ完全なアクセスを提供する最善の方法は何ですか? 私が特定できる問題のいくつかは、動的リストまたはログイン フォームなどの特定のコントロールが含まれていることです。

ありがとう。

4

8 に答える 8

1

これは CMS の回答ではありませんが、デザイナーが Expression Web でマスター ページを開くことを許可することができます。これが世界で最も優れたツールであるとは言いませんが、デザイナーに Expression でマスター ページのデザインを仕上げてもらい、良い結果が得られました。

ただし、問題点があります。プロジェクト全体が開かれている場合、設計者は、Visual Studio で見られるツリービュー ビューとは異なり、コード ビハインド ファイルを個別のアイテムとして見ることができます。

CMS を介して Expression で使用するためにマスター ページをチェックアウトできると思いますが、これを行うための組み込みの方法はありません。また、これを行うためのサード パーティ製ツールについても知りません。願わくば、Expression Web 3 が物事をより簡単にしてくれることを願っています。

于 2009-03-11T19:35:09.777 に答える
1

CMS を使用している場合は、ページ コンテンツを完全に制御できるようにすることをお勧めします。CMS でできないことがある場合は、デザイナーが CMS のページ エディターでページにドロップできる CMS 用の拡張機能またはプラグイン モジュールを作成することを検討できます。

CMS がプラグイン モジュールをサポートしていない場合は、CMS とマスター ページの両方に意図しないことを強制しようとしている可能性があります。

上記の方法がうまくいかない場合は、もう 1 つの方法があります。CMS で編集されたページをホストするマスター ページにインライン フレームを配置します。

それが役立つことを願っています。

于 2009-03-11T19:35:29.557 に答える
1

これは確かに興味深い質問であり、完全な解決策はありません。私はこの問題を抱えた e コマース ショップで働いていましたが、率直に言って、多くの場合デザイナーに html と css を提供するように依頼し、html と css を取得してプロジェクトに追加しました。はい、これは面倒でした....

次に、デザイナーが html をコピーして html エディターに貼り付けることができる cms を構築し、それらの html の断片をデータベースに保存しました。私の Web アプリは、実行時にデータベースからそれらを取得します。Web ページのデザインを完全に制御することはできなかったので、これでいくつかの問題は解決しましたが、すべてではありませんでした。

肝心なのは、デザイナーが自分の作品をあなたに提出する方法について標準化する必要があるということです。それがあり、html と css を信頼できる場合は、それを中心に CMS を構築することを考えてみてください。RAD のこの時代に、私は自分に渡された html と css を操作し、必要に応じてマスター ページや他のページにコピー アンド ペーストする方が簡単であることに気付きました。

于 2009-03-10T19:30:02.527 に答える
1

ポータル内でコンテンツをホストしたい場合を除き、これに対する完璧な答えはわかりません。

彼らが設計したビットがページのルックアンドフィールに相当する場合、これは css で制御でき、別の css ファイルを使用してテーマを作成できるようにすることができます。

于 2009-03-04T16:11:29.670 に答える
0

Webアプリケーションでは、プロジェクトページはアクセスされるまでコンパイルされません(リンクは2005年ですが、引き続き適用されます)。これは、実際の.aspx(および.ascxなど)ページが元の状態でデプロイされることを意味します。設計者はサーバー上のページの形式を更新でき、更新は次に誰かがそのコンテンツを要求したときにコンパイルされます。

デザイナーが現在のページをダウンロードし、WebサイトのUIを介して置換をアップロードできるようにすることは、比較的簡単です。ただし、それはあまり安全ではありません(そしておそらく決して行われるべきではありません)。設計者がWeb経由で仮想ディレクトリにアクセスできるようにして、 ExpressionWebなどのツールを使用して仮想ディレクトリに接続できるようにすることをお勧めします。このようにして、デザイナーは現在のWebサイトを開き、ページを編集して、結果を直接本番環境にプッシュすることができます(恐ろしいことかもしれません)。


正解に反対しているので、何か指摘させてください。

ウェブサイトプロジェクトは、コードビハインドとページをオンデマンドでコンパイルします。コードを定期的に更新する必要がある場合は、問題のない解決策です。

Webアプリケーションプロジェクトは、更新可能になるように構成できます。すべての分離コードとクラスはアセンブリにコンパイルされ、すべてのaspx、ascxなどのページはオンデマンドでデプロイおよびコンパイルされます。これは、設計者がWebサイトに接続し、レイアウトと静的コンテンツを更新し、次のリクエストで変更を確認できることを意味します。

これは、私の推奨する展開方法です。私は実際にいくつかのWebアプリケーションプロジェクトを持っており、更新可能なaspxファイルがdllと一緒にデプロイされています。Webサイトのユーザーは、更新を送信しなくてもUIを変更できるため、再コンパイルできます。

于 2009-03-04T16:06:59.600 に答える
0

.master は単なるテキスト ファイルです。好きなように編集できます。コードを表示するためだけにコードを再コンパイルする必要があるようなことは絶対にありません。そもそもこれがマスター ページの大きな利点です。デザイナーやその他の非プログラマーは、何も壊すことなく手動で編集できます。

ソース管理下のファイルへのアクセスを彼らに与えて、夢中にさせてください。

于 2009-05-12T11:20:03.243 に答える
0

興味深い質問
です。少し前にその分野に手を出していました。

これらの Web デザイナーは、Photoshop や Flash の内部以外の領域にいないとき、どの程度の知識を持っているのでしょうか?

DIY-CMS を使用している場合は、おそらく最も影響を受けやすいオブジェクトをテンプレート化できます。たとえば、一般的な (好きなように感じるのではなく、好きなように ;-)) リストを作成したり、該当する場合はデザインに入る方法を作成したりできます。

CMS を介してデザイナーが利用できる属性を処理する完全なフレームワークがセットアップされている限り、再コンパイルの必要はないはずです... しかしもちろん、私は簡単に開発者を見つけることができます (read : me ) 核心と完璧のギャップにつまずく....

残念ながら、最も簡単で唯一管理しやすい方法は、デザイナーが自分のニーズと要望を表現する方法を標準化することです...それ自体はコード化されません...

いくつか例を挙げていただけますか?

于 2009-03-06T09:59:00.437 に答える
0

デザイナーが編集できるようにする必要がある領域の代わりに、マスター ページにプレースホルダーを配置することは可能ですか? マスター ページは Visual Studio でしか編集できないため、現時点ではそれが唯一の実行可能なオプションである可能性があります。このアプローチの問題点の 1 つは、プレースホルダーに配置されたコンテンツが有効である可能性が低いことです。これは、あるプレースホルダーではタグを開いたままにし、別のプレースホルダーではタグを閉じたままにする可能性があるためです。

<html>
<head>
<title></title>
<asp:PlaceHolder ID="headerContent" runat="server"></asp:PlaceHolder>
</head>
<body>

<asp:PlaceHolder ID="beforeContent" runat="server"></asp:PlaceHolder>

<asp:PlaceHolder ID="centralContent" runat="server"></asp:PlaceHolder>

<asp:PlaceHolder ID="afterContent" runat="server"></asp:PlaceHolder>

</body>
</html>

それが醜いことはわかっていますが、必要なコントロールを提供する可能性があります (XHTML バリデーターが常に警告することを気にしない限り)。プレースホルダーに入れるものは、ユーザー コントロールやリテラル コンテンツなどですが、動的に読み込む必要があります。

考え?

編集:これは機能しません。PlaceHolder は、物事を台無しにする<div>タグをレンダリングしようとしています。おそらく、PlaceHolder を拡張して、HTML のレンダリング方法をオーバーライドできます。

于 2009-03-11T03:27:39.447 に答える