$_GET 变量如何与 Concrete5 一起使用?我可以在常规页面上使用它吗?
我知道我可以通过 url 段对单个页面执行此操作,我只是想知道是否可以使用常规页面。
示例是:http ://www.domain_name.com/about-us/?name=test ...
$_GET 变量如何与 Concrete5 一起使用?我可以在常规页面上使用它吗?
我知道我可以通过 url 段对单个页面执行此操作,我只是想知道是否可以使用常规页面。
示例是:http ://www.domain_name.com/about-us/?name=test ...
获取参数可通过控制器获得。在页面或块视图中使用:
$this->controller->get("parameterName");
function view()
自定义参数的一种更简洁的方法是在页面控制器中定义它们。如果http://www.domain_name.com/about-us是您的页面,并且您定义它的页面类型控制器的视图功能,如下所示:
function view($name) {
$this->set("name", $name);
}
... 并调用 URL http://www.domain_name.com/about-us/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 备忘单的道具。