2016-10-28 15 views
0

ejsテンプレートを使用して、異なるdiv内のコンテンツを生成しています。テンプレート内でejsテンプレート名を使用する

のは、それは一種の、次のようになりましょう:

<% include test1 %> 

<% include test2 %> 

<% include test3 %> 

と、これらのテンプレートのそれぞれで、私は自動的にいる何テンプレート知っていただきたいと思います。たとえば、私が "templatei.ejs"ファイル(iはi番目のテンプレートのインデックス)に入っているとしましょう。今私はそれの中にテンプレートの名前を知るための方法はありますか?

これは、各テンプレートファイルがどのように見えるかです:)

<div> 
<h2>header info</h2> 
<p>some text comes here</p> 
<a href="/<% this.fileName() %>">now I want this url to be a link to a seperate page that only loads one template<a> 
</div> 

this.fileName(それはちょうど私が何を意味するか表現した動作しません。 実際には、各部門の別々のページへのリンクを追加したいと考えています。

私はURLを生成するためにJavaScriptを使用していない理由は、私は クローラがそれを見つけたいと私はクローラがjsファイルの変更後のページ をこすりだろうと思ういけないということです。

+0

内部

<%- include('test1', {filename: 'data'}) %> 

テンプレートを書いた1だとき、なぜあなたは、あなたがにいる何テンプレートを知る必要があるだろう、X/Yの問題のような音、そして彼らそれらはすべて親ファイルにスコープされていますか? – adeneo

+0

私は多くのテンプレートを使用していて、手動でそれらのすべてを実行したくないので、私はそれを自動的に行うことができる他の方法があるかどうかを見たいと思っています。 –

+0

しかし、テンプレートがファイル名を知る必要があるのはなぜですか、私は現在のテンプレートのファイル名がテンプレート自体に関係しているとは思いませんか? – adeneo

答えて

0

includeステートメントで(レンダリングする)ファイル名を送信します。 TEST1のEJS

<div> 
<h2>header info</h2> 
<p>some text comes here</p> 
<a href="/<% filename %>"><a> 
</div> 
関連する問題