Silverstripe 输出到模板,使用哪个变量?
我有一个模板,需要显示通过GridField分配到该页面的用户 当一个用户被分配到存储其ID的页面时,我会像这样检索该信息Silverstripe 输出到模板,使用哪个变量?,silverstripe,Silverstripe,我有一个模板,需要显示通过GridField分配到该页面的用户 当一个用户被分配到存储其ID的页面时,我会像这样检索该信息 class Shows_Controller extends Page_Controller { # Get key people from ShowsContact class / input via ShowsContact GridField public function getKeyPeople(){ if($this->
class Shows_Controller extends Page_Controller {
# Get key people from ShowsContact class / input via ShowsContact GridField
public function getKeyPeople(){
if($this->ShowsContacts()->exists()){
$result = array();
foreach($this->ShowsContacts()->column('MemberID') as $teamMemberID){
array_push($result, Member::get()->byID($teamMemberID)->Nickname);
}
var_dump($result); # Using var_dump here to see if I get what I need...
}
}
}
我尝试过使用SilverStripes ArrayList,但也无法实现这一点-这里有同样的东西,但使用ArrayList
$result = new ArrayList();
foreach($this->ShowsContacts()->column('MemberID') as $teamMemberID){
$result->add(Member::get()->byID($teamMemberID)->Nickname);
}
var_dump($result);
这是我期望的结果,但我不知道如何循环结果,以及需要使用什么变量,以便循环在我的模板中显示结果
var_转储的结果是,我需要将这些名称发布到网页的相关部分
array(3) {
[0]=>
string(6) "vlad-s"
[1]=>
string(10) "lawrence-r"
[2]=>
string(8) "darren-g"
}
我也尝试过使用
,但也没用
编辑
我现在只想获取用户名,但需要从ID中获取多个信息,如名字、姓氏、ImageURL哇,终于按我的需要实现了 我缺少的是在尝试添加到
ArrayList()时使用ArrayData()
这是工作代码
class Shows_Controller extends Page_Controller {
# Get key people from ShowsContact class // input via ShowsContact GridField
public function getKeyPeople(){
if($this->ShowsContacts()->exists()){
$result = new ArrayList();
foreach($this->ShowsContacts()->column('MemberID') as $teamMemberID){
$result->add(new ArrayData(array(
'Nickname' =>Member::get()->byID($teamMemberID)->Nickname
)
));
}
return $result;
}
}
}
现在在我的模板中,我可以使用
<% loop KeyPeople %>
$Nickname
<% end_loop %>
$昵称
把数据拿到我需要的地方