ホームページ >バックエンド開発 >PHPチュートリアル >Discuz では DIY 機能はどのように実装されていますか?
Discuz の DIY 機能がどのように実装されているかを一般的に説明できる人はいますか? 1 日探しましたが、手がかりが見つかりません。 ! !
決定した位置に基づいて各コントロールをドラッグ可能にし、スタイルを保存し、使用時にそのスタイルを呼び出します
決定した位置に基づいて各コントロールをドラッグ可能にしますスタイルを保存し、使用するときにそのスタイルを呼び出すには、次の要件を満たす必要があります:
1. 静的ページは変更可能でなければなりませんね。
2. DIYしたい場所が決まっているのは非常に限られていませんか?
3. 各フレームには独自の ID があります。この ID に基づいてスタイルを呼び出すにはどうすればよいですか?
4. このドラッグ アンド ドロップは JavaScript によって実装されていますか? jQuery経由?
リンクを投稿して見てみてはいかがですか?
リンクを投稿して見てみてはいかがですか? http://www.discuz.net/
ログイン後、右上隅に「DIY」リンクがあります
実装の原則は、JavaScript と PHP を組み合わせて変更するタグを介して実装することですページのタグ () データベースで指定された div をデータベースに保存されているコンテンツに置き換え、データベースはページの ID を記録します (実際のページは存在しません)、テンプレート名、diy の ID、および CSS スタイルはすべてキャッシュによって行われ、CSS の内容はデータベースに設定されます。このようにしてDIV+CSSが出来ます
上の人が上手く言っています
ソースコードを見てください
common_diy.js
拡張文字列メソッド: property2js
を定義します。 styleCss 関数を定義し、styleCss のいくつかのメソッドを拡張します。
json オブジェクト Util を定義します。
複数のメソッドを含む匿名関数を定義します。その中で、Drag メソッドと DIY メソッドがより重要です。
portal_diy.js
Drag オブジェクトを定義します。
DIY オブジェクト var spaceDiy を定義し、メソッド spaceDiy.init(1); を実行します
ドラッグ アンド ドロップ モジュールについては、Discuz の公式ドキュメントを参照してください。