手動で追加しない限り、すべてのページに固有のブロックを配置する方法はありません。「ページタイプのデフォルト」にしたとしても、最初の編集を行うまで共有ブロック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 テーブルを管理する方法の例については、彼のブロックを参照するか、コアの「調査」ブロックを参照してください。