3

$_GET 变量如何与 Concrete5 一起使用?我可以在常规页面上使用它吗?

我知道我可以通过 url 段对单个页面执行此操作,我只是想知道是否可以使用常规页面。

示例是:http ://www.domain_name.com/about-us/?name=test ...

4

2 回答 2

2

获取参数可通过控制器获得。在页面或块视图中使用:

$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”字面意思是在那里。

于 2013-02-01T02:11:20.530 回答
0

您可以在模板中使用它。例如,您可以获取一个变量...

$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 备忘单的道具。

于 2013-01-30T22:00:30.793 回答