0

インストールされているページのクリック数を表示するブロックがあります。

そのブロックをすべてのページに表示したい。

stackを作成してから、そのスタックをグローバル領域に含めようとしました。問題は、スタックが含まれている場合、すべてのページに同じブロックが含まれていることです。

したがって、すべてのページに異なるブロックを配置する代わりに、すべてのページに同じブロックを配置します。その結果、現在のページだけでなく、すべてのページのクリックがカウントされます。

すべてのページにブロックを含めるにはどうすればよいIDでしょうか。

ありがとう。

4

1 に答える 1

1

手動で追加しない限り、すべてのページに固有のブロックを配置する方法はありません。「ページタイプのデフォルト」にしたとしても、最初の編集を行うまで共有ブロックIDになります(その時点で独自のIDを取得します)。また、ページの PHP コードにハードコードすると、ブロック ID がまったくありません。

そうは言っても、一意のブロック ID が必要な理由がわかりません。当然、各ページには一意の ID が割り当てられます。したがって、ブロックはクリックをページ ID (c5 用語ではコレクション ID) に対して保存し (ここで何を意味するのか正確にはわかりませんが、おそらく無関係です)、それに対しても取得できるはずです。

編集: あなたのコメントを考慮し、あなたがやろうとしていることについての私の理解に基づいて、ブロックIDを組み合わせることができない理由はありません(あなたが言うように、ページ間で複製されますが、ページ上の各ブロック) とページ ID。したがって、スタックに 2 つのブロックを配置すると、ID 1 と 2 が割り当てられます。スタックが所有するすべてのページに ID 1 と 2 が割り当てられます。したがって、彼らが生成するデータを「記録」しようとするときは、bID と cID を組み合わせて、1-103 と 2-103、1-4719 などを取得します。

編集 2: したがって、問題がデータの「キーイング」ではなく、データの物理的な保存である場合は、以下の jordanlev のコメントを参照してください。$btTableテーブルは bID からキーオフされているため、使用しません。代わりにdb.xml、新しいキーと、保存したいその他のデータを受け取ることができる新しいテーブルを作成するために使用します。それをクエリして更新するのはあなたの責任Loader::db()です。独自の db テーブルを管理する方法の例については、彼のブロックを参照するか、コアの「調査」ブロックを参照してください。

于 2013-08-18T14:46:44.433 に答える