ホームページ >バックエンド開発 >PHPチュートリアル >thinkPHP ではヘッダー テンプレートが導入されており、テンプレート内のタグは解析されません

thinkPHP ではヘッダー テンプレートが導入されており、テンプレート内のタグは解析されません

WBOY
WBOYオリジナル
2016-06-13 12:59:011017ブラウズ

thinkPHP ではヘッダー テンプレートが導入されており、テンプレート内のタグは解析されません
皆さんこんにちは:
TP を使い始めたところ、次のような問題が発生しました。
Webサイトは、頭部、コンテンツ部、下部に分かれています。
ヘッダーは主にナビゲーションメニューで、テンプレートファイルは header.html
として書きました。 ホームページのインデックス ファイルに header.html が導入されている場合、ヘッダー内の動的コンテンツは表示されません。
localhost/index.php/Common/headerで表示できます(commonAction.class.phpにheaderメソッドを定義しました)。インデックスは静的な HTML ファイルを導入するだけで、解析はしないということですか?どうすれば解決しますか?皆さんありがとうございます!
------解決策----------------------
たとえば、ホームページのindex.phpをロードするとします。 , 次に、対応するインデックスをロードする必要があります。 HTML テンプレート。この場合に静的ヘッダーをロードできると判断された場合は、インデックスを確認してください。 PHPのindex()メソッドにヘッダー内のデータへのassign()はありますか?------解決策----- ---------------- ----
必要ありません~、親クラスを定義し、その中にいくつかの共通メソッドを記述します。このクラスはアクションを継承します。 tp の display() メソッドをオーバーライドし、このメソッドでヘッダー クラスを呼び出すだけです。コントローラー内の他のメソッドについては、この display() を使用してヘッダーを自動的にロードします。理解できましたか?
------解決策---------- ---------
文法的に間違いはありませんか?一つ一つ確認してください

<br />
可以使用Include标签来包含外部的模板文件,使用方法如下: <br />
<br />
include标签(包含外部模板文件)<br />
 <br />
闭合<br />
 闭合标签<br />
 <br />
属性<br />
 file(必须):要包含的模板文件,支持变量<br />
 <br />
<br />
示例:<br />
<br />
1、 使用完整文件名包含<br />
<br />
格式:<include file="完整模板文件名" /><br />
<br />
例如:<br />
<br />
<include file="./Tpl/default/Public/header.html" /><br />
<br />
这种情况下,模板文件名必须包含后缀。使用完整文件名包含的时候,特别要注意文件包含指的是服务器端包含,而不是包含一个URL地址,也就是说file参数的写法是服务器端的路径,如果使用相对路径的话,是基于项目的入口文件位置。<br />
<br />
 <br />
<br />
2、包含当前模块的其他操作模板文件<br />
<br />
格式:<include file="操作名" /><br />
<br />
例如 导入当前模块下面的read操作模版:<br />
<br />
<include file="read" /><br />
<br />
操作模板无需带后缀。<br />
<br />
 <br />
<br />
3、 包含其他模块的操作模板<br />
<br />
格式:<include file="模块名:操作名" /><br />
<br />
例如,包含Public模块的header操作模版:<br />
<br />
<include file="Public:header" /><br />
<br />
 <br />
<br />
4、包含其他模板主题的模块操作模板<br />
<br />
格式:<include file="主题名:模块名:操作名" /><br />
<br />
例如,包含blue主题的User模块的read操作模版:<br />
<br />
<include file="blue:User:read" /><br />
<br />
 <br />
<br />
5、 用变量控制要导入的模版<br />
<br />
格式:<include file="$变量名" /><br />
<br />
例如 <br />
<br />
<include file="$tplName" /><br />
<br />
给$tplName赋不同的值就可以包含不同的模板文件,变量的值的用法和上面的用法相同。<br />
<br />
 <br />
<br />
无论你使用什么方式包含外部模板,Include标签支持在包含文件的同时传入参数,例如,下面的例子我们在包含header模板的时候传入了title和keywords变量:<br />
<br />
<include file="header" title="ThinkPHP框架"keywords="开源WEB开发框架"/><br />
<br />
就可以在包含的header.html文件里面使用var1和var2变量,方法<br />
<br />
<html xmlns="http://www.w3.org/1999/xhtml"><br />
<br />
<head><br />
<br />
<title>[title]</title><br />
<br />
<meta name="keywords" content="[keywords]" /><br />
<br />
</head><br />
<br />
 <br />
<br />
注意:由于模板解析的特点,从入口模板开始解析,如果外部模板有所更改,模板引擎并不会重新编译模板,除非在调试模式下或者缓存已经过期。如果部署模式下修改了包含的外部模板文件后,需要把模块的缓存目录清空,否则无法生效。<br />
<br />
<br />
<br />
  <br />
<br />

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。