2

コントローラーの duplicate() 関数の概念を理解するのが難しいと感じています。

C5のドキュメントでは、次のように述べています。

Run automatically when a block is duplicated. This most likely happens when a block that is in an approved version is updated...

承認されたバージョンのブロックが更新されると、save() 関数によって処理されるように、それが保存されるだけではありませんか?

また、この関数の中に何が入っているのかもわかりません。誰かが明確にしてもらえますか?

また、ブロックがクリップボードから貼り付けられたとき、duplicate() 関数は状況を処理しますか?

4

2 に答える 2

0

テンプレートを割り当てたり、ブロックをコピー/ペーストしたりするたびに、複製関数が呼び出されます。

重複機能は、主に複数のテーブルに保存する必要があるアドオンで必要です。

アドオンは 1 つのテーブルのみを認識することができ、その 1 つのテーブルのみを自動的に管理します。

たとえば、スライドショー アドオンは、設定を 1 つのテーブルに保存し、画像のリストを別のテーブルに保存します。データは bID フィールドを介してリンクされます。

ブロックを編集すると、保存機能によって 2 つのテーブルが処理されます。ただし、テンプレートを割り当てたりブロックを貼り付けたりすると (たとえば)、編集せずにブロックの bID が変更されるため、保存機能を経由しません。

複製機能がないと、新しい bID がメイン テーブルに保存されますが、セカンダリ テーブルには保存されないため、スライドショーに画像が表示されません。

アドオンはメイン テーブルのみを認識し、他のテーブルは手動で処理する必要があることに注意してください。

于 2013-04-13T06:48:42.587 に答える