ペッカは正しいですが、私は別の(長い)説明で答えの議論を散らかすことを躊躇しています。
エリアは名前に基づいて動的です。したがって、「プロパティの詳細1」は「プロパティの詳細01」とは異なります。
あなたは次のようなことをすることができます:
for ($i = 1; $i <= 10; $i++) {
$a = new Area('Property Details ' + $i);
$a->display();
}
そして、1から10までの10個の連続した名前の「PropertyDetailsx」エリアを取得します。
それらにコンテンツブロックを追加するとします。それらがまったく同じ名前のままである限り、ブロックは期待どおりに機能します。最初の行を次のように変更することもできます。
for ($i = 10; $i >= 1; $i--) {
その場合、下向きに順番に名前が付けられた領域(10、9、8 ...)を取得し、C5はコンテンツブロックを元の領域に保持するため、すべて逆になります。
しかし、あなたがそうするとしましょう:
for ($i = 11; $i <= 20; $i++) {
これで、10個の領域(11、12、13 ...)が得られ、すべてが空白になります。コンテンツブロックは基本的に消えました。必要に応じて、新しいコンテンツブロックを作成できます。ただし、先に進んで、元のループを(1、2、3 ...)に戻します。以前と同じように、元のコンテンツブロックが復活しました。
この非常に長い説明は、C5が名前に基づいてブロックを作成し、その名前がキーになることを示しています。何でもかまいません。ページ名に基づいて作成することも、動的に生成することもできます。一度作成すると変更できません(ブロックを「失いたくない」場合)。
しかし...私はここで再びペッカに同意します...あなたはおそらくこれをしたくないでしょう。目標がわからない場合は、保守が難しい非常に脆弱なソリューションを作成(または延長)しています。Pekkaは、プロパティごとにサブページを作成することを提案しています。次に、ページリストブロックを使用して、該当する属性を「プル」できます。または、個別のページを作成したくない場合は、JordanのDesigner Contentブロック(http://www.concrete5.org/marketplace/addons/designer-content/ )を使用します。単一の領域(「プロパティの詳細」)を用意し、プロパティごとにブロックを追加します。削除、並べ替えなどがはるかに簡単です。
Sphereの最初の2つの質問に対処するために編集します
。領域にブロックを追加するのは本当に簡単です。エリアに重複する名前がない限り、前に試したようにそのエリアをクリックして、ブロックを追加します。特定のサイトに必要なブロックタイプがわかりません。これは、サイトに固有のものです。これは、Contentブロック、または特定のテンプレートを含むPagelistブロックである可能性があり、前の開発者は、ブロックインスタンスごと、領域ごとに1ページを「リスト」するように設定しました(これは本当に奇妙ですが、わかりません。 。)。または、Designerコンテンツから作成されたブロックタイプである可能性があります先ほどお話ししたブロック。既存のブロックをざっと見てみると、アイデアが得られるはずです。また、HTMLに識別IDを書き出すこともあります。したがって、ソースはのようなものです。
コードサンプルについて:はい、$contはページです。Pekkaと私が提供したコード($ a-> display())は、基本的に次のことを行います。
- 'Property Details'(または1または2など)と呼ばれる領域を初期化します。議論したように、これが鍵です。
- 表示します。デフォルトでは、現在のページの「for」で表示されます。これは、現在のページの「上」とは異なります。常に現在のページに表示されます...->display()に引数として渡すものは、「領域をプルする必要があるページ」のようなものです。したがって、理論的に$ thePageObjectForPropertyOnMainStreetを渡すことができ、そのページの「プロパティの詳細」領域が表示される場合。$contを使用する必要はありません。それを作成するとき(それはすでに存在します)。しかし...今考えてみると、それが彼がやろうとしたことかもしれません。$ contは、個々のプロパティページへの参照であった可能性があります。それらのページは「プロパティの詳細」と呼ばれる領域があり、このループはそれらのページから「領域をプル」するのに役立ちます。しかし、$contは異なって見えたでしょう。$ cont = Page :: getByID(x);のようにすると、これをハードコーディングできます。ここで、xは、「プロパティの詳細」と呼ばれる領域を持つプロパティページのcIDです。編集して保存した後、URLでcIDを取得できます。