一般的に、二次開発はインターフェースの変更や機能の追加が主です
まずインターフェースの変更について話しましょう
MVC アーキテクチャ プログラムは、インターフェイス内で基本的にデータを呼び出します。
3 つの一般的なインターフェイス データ構造があります
1. ビジネス側または制御側のデータ駆動型インターフェイスであり、バックグラウンドで出力されるデータはインターフェイスに表示されます。これの厄介な点は、テンプレートを交換したい場合、テンプレートを交換する必要がない限り、ナイフが大きく移動することです。制御側のデータが変更されない場合、インターフェイスの設計はさらに制限されます。
2. これはインターフェイス駆動型のデータであり、ほとんどの cms は基本的にこの方法でデータを取得するか、一般的な PHP 呼び出しデータ関数を定義します。この方がインターフェイスのデザインには親切ですが、画像を切り取ってコードを隠すのが面倒になります。
3. 3 番目のタイプの難しさは少し難しく、バックグラウンドで WYSIWYG モデルを通じてフロントエンド呼び出しモジュールを定義し、システム構成または手動構成を通じてデータを定義し、HTML データを生成します。適切なキャッシュ間隔を設定するだけで、フロントエンドで一度に読み取ることができます。 Taobao や Shopex と同様に、これはバックエンド開発に大きなプレッシャーがかかるモデルです。
shopnc のプログラムは最初のタイプに属し、バックグラウンドのデータ駆動型インターフェイスを備えています。したがって、インターフェースを変更したい場合は、通常、コントローラーとビューを変更する必要があります。変更したファイルを記録しておかないと、将来のアップグレードでソース ファイルが置き換えられた場合に非常に面倒になります。
shopncのURLは通常こんな感じです
http://localhost/shopnc/shop/index.php?act=show_groupbuy&op=index
act パラメーターはコントローラーを表し、op はコントローラー内のビジネス関数の名前を表します
shopnc のディレクトリ構造を確認し、コントローラー ディレクトリに移動して show_groupbuy.php を見つけます。これがコントローラーのビジネス ロジックです。
コードを見てくださいリーリー
コントローラーの名前の後にコントロール文字列が続き、BaseHomeControl から継承されますop は show_groupbuyControl クラスの関数です
リーリー
名前は、URL の op パラメータと Op 文字列で構成されますフォアグラウンドに表示されるデータを変更したい場合は、対応するコントローラーと関数を見つけて、その中のコードを変更する必要があります
フロントデスクのテンプレートも定期的です
templates/default ディレクトリ下のフォルダー機能は次の意味を持ちます:
購入ショッピング カート、注文、その他のテンプレートなどの購入機能テンプレート
CSSスタイルフォルダー
ホーム フロントエンド表示機能モジュールのテンプレートはすべてここにあります
画像 テンプレート画像フォルダー
レイアウトレイアウトフォルダー、各機能領域のヘッダーファイルを見つけたい場合は、ここにあります
メンバー メンバー センター テンプレート
セラーセラーセンターテンプレート
SNS SNS機能テンプレート
ストア販売者ストアテンプレート
対応するフォルダーに移動して、ビュー ロジックを変更するための関連ファイル テンプレートを見つけます
ビューとコントローラーが対応していないため、最初は対応するビューを見つけるのが少し混乱するかもしれませんが、opパラメータに基づいて見つけるのが簡単です。もちろん、コントローラーのコードから見つけることをお勧めします。
対応する演算関数を見つけます
関数の最後で、Tpl::showpage('index'); に似た単語を見つけます。このような単語は、インデックスのビューが対応するフォルダーから呼び出されることを意味するため、対応するビュー ファイルであるindex.phpを見つけます。
Tpl::showpage('index'); がない場合は、通常、文字列を直接出力したり、json を出力したりするなど、他の関数が呼び出されているか、ビューファイルが出力されていないことを意味します。
ビュー ファイルを見つけたら、変更する前に、対応するデータ表示モジュールを見つける必要があります。
まず、グループ購入を例として、対応するコントローラーを見つけてコードを見てみましょう。 リーリー
コメントの最初の文以外は、言語ファイルを呼び出しています
。2 番目の文は、model を呼び出します。model の場所は、上位ディレクトリの data にあり、モデル ファイルのファイル名は、Model('groupbuy' + .php suffix) です。
3 番目の文は、モデル内の関数を呼び出して、必要なデータを取得します4番目の文は、取得したデータをテンプレート内の変数group_listに代入しています
ビュー ファイルを開き、group_list を見つけて、テンプレート内で探している場所を見つけます。テンプレートはすべて純粋な PHP 構文であり、バックアップすることを忘れないでください。