$_GET 変数は Concrete5 でどのように機能しますか? 通常のページで使用できますか?
URLセグメントを介して単一のページでこれを実行できることはわかっていますが、通常のページで可能かどうか疑問に思っています。
$_GET 変数は Concrete5 でどのように機能しますか? 通常のページで使用できますか?
URLセグメントを介して単一のページでこれを実行できることはわかっていますが、通常のページで可能かどうか疑問に思っています。
get-parameters は、コントローラーを介して利用できます。ページまたはブロックのビューで次を使用します。
$this->controller->get("parameterName");
カスタム パラメータのよりクリーンな方法function view()
は、ページ コントローラの で定義することです。http://www.domain_name.com/about-usがあなたのページで、その pagetype コントローラーのビュー関数を次のように定義するとします。
function view($name) {
$this->set("name", $name);
}
... URL http://www.domain_name.com/about-us/testを呼び出すと、 「test」が$name
ページ ビューに渡されます。
ページタイプのコントローラーはcontrollers/page_types/にありBlablaPageTypeController
、「PageType」が文字通りそこにある状態で呼び出される必要があることに注意してください。
テンプレートで使用できます。たとえば、変数を取得できます...
$sort_by = $_GET['sort'];
次に、次のように、PageList ルックアップでその変数を使用します。
$pl = new PageList();
$ctHandle = "teaching";
// Available Filters
$pl->filterByCollectionTypeHandle($ctHandle); //Filters by page type handles.
// Sorting Options
if ($sort_by == "name") {
$pl->sortByName();
} else {
$pl->sortBy('teaching_date', 'desc'); // Order by a page attribute
}
// Get the page List Results
$pages = $pl->getPage(); //Get all pages that match filter/sort criteria.
$pages = $pl->get($itemsToGet = 100, $offset = 0);
次に、その配列を繰り返し処理して出力することができます...
if ($pages) {
foreach ($pages as $page){
echo '<a href="'.$page->getCollectionPath().'">'.$page->getCollectionName() . '</a><br />';
}
}
PageList コードのC5 チートシートを支持します。