テンプレート上で教師関係がループしていますCoursePage.ss
しかし、その関係をループしようとするとteachers
の内部にCouresePage_details.ss
が動作しません。間違ったことをしている。シルバーストライプの関係は詳細ページには表示されません
私は2つのモデルCourses
とTeachers
Course
を持っているが、多くのteachhersTeacher
1つのコースを持つことができます
Courses.php
class Courses extends DataObject
{
private static $many_many = array(
'Teachers' => 'Teachers',
);
}
を持つことができます
Teachers.php
class Courses extends DataObject
{
private static $belongs_many_many = array(
'Courses ' => 'Courses ',
);
}
CoursesPage.php
class CoursesPage extends Page
{
}
class CoursesPage_Controller extends Page_Controller
{
public static $allowed_actions = array(
'details'
);
// Show specific course
public function details(SS_HTTPRequest $request)
{
$c= Courses::get()->byID($request->param('ID'));
if(!$c) {
return $this->httpError(404, "Courses not found");
}
return array(
'Courses' => $c,
);
}
// Courses list
public function CoursesList()
{
$c = Courses::get()->sort('Featured', 'DESC');
return $c;
}
}
CoursesPage.ss
このファイルには、私だけでループコース、重要な何もありません。ここで私はコースと教師のリストをループします。ここで教師は詳細テンプレートに取り組んでいない完璧な作業をループしています。ここで
CoursesPage_details.ss
が問題です。 course
の詳細を表示すると、このコースに関連しているteachers
をループしたいが、いつも私はNULL
の返信Teachers does not exist
を得る。範囲外であるように見えます。
<section class="course-details">
<h2>$Courses.Name</h2> <!-- Work -->
<p>$Courses.Descr</p>
<ul class="teachers-list">
<% if $Teachers %> <!-- Not work here, but on CoursePage.ss work -->
<% loop $Teachers %>
$FirstName
<% end_loop %>
<% else >
Teachers does not exist
<% end_if %>
</ul>
</section>
ありがとうございます。 – Ivan