输出到模板,使用哪个变量?
Output to template, which variable to use?
我有一个模板需要显示已通过 GridField 分配给该页面的用户。
当用户被分配到存储其 ID 的页面时,我会像这样检索该信息
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_dump的结果是这样的,我需要把这些名字放到网页的相关部分
array(3) {
[0]=>
string(6) "vlad-s"
[1]=>
string(10) "lawrence-r"
[2]=>
string(8) "darren-g"
}
我也尝试过使用 <% with %>
,但也没用
编辑
顺便提一下,我目前只想获取用户名,但需要从 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 %>
把数据拿到我需要的地方!
我有一个模板需要显示已通过 GridField 分配给该页面的用户。
当用户被分配到存储其 ID 的页面时,我会像这样检索该信息
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_dump的结果是这样的,我需要把这些名字放到网页的相关部分
array(3) {
[0]=>
string(6) "vlad-s"
[1]=>
string(10) "lawrence-r"
[2]=>
string(8) "darren-g"
}
我也尝试过使用 <% with %>
,但也没用
编辑
顺便提一下,我目前只想获取用户名,但需要从 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 %>
把数据拿到我需要的地方!