나는 데이터베이스를위한 웹 페이지를 만들기 위해 Catalyst MVC 프레임 워크를 만들고있다. 나는 풀 타임 프로그래머가 아니다. 하지만 나는 펄과 자바의 기초를 알고있다. 나는 생물 학자이다. 테이블이있는 템플릿 파일 (view.tt)을 작성했습니다. 이 테이블의 내용을 다른 하나의 템플릿 파일로 작성된 다른 테이블에 연결해야합니다. 나는이 두 템플릿을 링크 할 수 없다 (URL을 적절히 생성 할 수 없기 때문에). 이 문제를 해결하기 위해 어느 누구라도 나를 도울 수 있습니까?다른 템플릿에서 템플릿 호출하기
다음 코드는 두 번째 템플릿 파일입니다 :
다음 코드 조각은 테이블이 처음 템플릿에<h4>Analyses Table</h4>
<table id="analysis_table" width="90%">
<thead>
<tr>
<th align="center" valign="center">Dataset</th>
<th align="center" valign="center">Tissue</th>
<th align="center" valign="center">Expression</th>
<th align="center" valign="center">Analysis</th>
</tr>
</thead>
<tbody>
[% FOREACH result IN plets -%]
[% IF result.analysistypename == 'Cancer' -%]
[% matches = result.datasetname.match('(\w+) (\w+)') %]
<tr>
<td align="left" valign="top">[% result.datasetname %]</td>
<td align="left" valign="top">[% result.expression %]</td>
<td align="left" valign="top">[% result.datatype %]</td>
<td align="left" valign="top">[% result.generankpercentile %]</td>
</tr>
[% END -%]
[% END -%]
</tbody>
<tfoot>
<tr>
<th align="center" valign="center">Dataset</th>
<th align="center" valign="center">Tissue</th>
<th align="center" valign="center">Expression</th>
<th align="center" valign="center">Analysis</th>
</tr>
</tfoot>
</table>
는 하이퍼 링크 수 (view.tt)
<h4>Analyses Summary table</h4>
<table id="score_table" width="50%">
<thead>
<tr>
<th align="centre" valign="centre"> Analysis Type</th>
<th align="centre" valign="centre">Score</th>
</tr>
</thead>
<tbody>
[% FOREACH score IN gene.whs -%]
[% plots = [ ['Cancer', score.cancer_vs_normal_over, score.cancer_vs_normal_under],
['Bladder cancer', score.bladder_cancer_over, score.bladder_cancer_under],
['Brain and CNS cancer', score.brain_and_cns_cancer_over, score.brain_and_cns_cancer_under],
['Breast Cancer', score.breast_cancer_over, score.breast_cancer_under],
['Cervical Cancer', score.cervical_cancer_over, score.cervical_cancer_under],
['Colorectal cancer', score.colorectal_cancer_over, score.colorectal_cancer_under],
]
%]
[% FOREACH plot IN plots %]
<tr>
<td> [% pl0t.0 %]</td>
<td> [% pl0t.1 %] </td>
<td> [% pl0t.2 %] </td>
<td> [% (pl0t.1 + 5)/(plot.2 + 5) | format('%5.2f') %] </td>
</tr>
[% END %]
[% END %]
</tbody>
<tfoot>
<tr>
<th align="centre" valign="centre"> Analysis Type</th>
<th align="centre" valign="centre">Score</th>
</tr>
</tfoot>
</table>
안녕하세요, 고맙습니다. 답장을 보내 주셔서 대단히 죄송합니다. 당신이 내 목표를 이해 했으므로 요약 테이블과 결과가로드 된 두 번째 테이블 사이에 '라이브'링크가있는 것입니다. 어떻게 든 템플릿을 다른 방법으로 연결했습니다. 첫 번째 템플릿에서 두 번째 템플릿으로 하이퍼 링크해야했습니다. 내 하이퍼 링크는 이와 비슷한 foreach 루프에 있습니다.
[% FOREACH plot IN plots %]
<tr>
<td><a href="[% c.uri_for(c.controller('gene').action_for('sample'))%]/[% plot.0 %]>[% plot.0 %]</a></td>
<td> [% pl0t.1 %] </td>
<td> [% pl0t.2 %] </td>
<td> [% (pl0t.1 + 5)/(plot.2 + 5) | format('%5.2f') %] </td>
</tr>
[% END %]
이 줄은 두 번째 서식 파일 (sample.tt)에 올바르게 연결됩니다. 두 번째 템플릿에는 일련의 표가 포함되어 있습니다. 첫 번째 테이블에서 하이퍼 링크를 클릭하면 해당 링크에 해당하는 테이블이 표시됩니다. 템플릿을 성공적으로 연결했습니다. 내 컨트롤러 (gene.pm)에 템플릿을 연결하기위한 서브 루틴을 만들었습니다. 내 목표를 달성하는 데 문제가 있습니다. 두 번째 템플릿 (sample.tt)의 html 부분이 제대로 작동하지만 템플릿 툴킷이 작동하지 않습니다. 나는 URL의 변화를 볼 수 있었지만 페이지에는 반영되지 않았다. 다음은
두 번째 템플릿의 서브 루틴이다 :sub sample :Path('sample'):Args(1) {
my($self,$c,$plot)[email protected]_;
my @plets = $c->model('GeneDB::genewhs')->search({
Analysistypename => @plet,
});
$c->stash->{plets}=\@plets;
$c->stash->{template}='gene/sample.tt';
}
경우 문제가 명확하지 않으면 .. 내가 내가 그것을 취소 할 의무가 될 것이다 ... 알고
감사하겠습니다
안녕하세요, 감사합니다. 답장을 보내 주셔서 대단히 죄송합니다. 당신이 내 목표를 이해 했으므로 요약 테이블과 결과가로드 된 두 번째 테이블 사이에 '라이브'링크가있는 것입니다. 어떻게 든 템플릿을 다른 방법으로 연결했습니다. 첫 번째 템플릿에서 두 번째 템플릿으로 하이퍼 링크해야했습니다. – user1462804