ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで Smarty を使用して静的ファイルを生成する例

PHP_PHP チュートリアルで Smarty を使用して静的ファイルを生成する例

WBOY
WBOYオリジナル
2016-07-13 10:31:53797ブラウズ

まず、静的である必要があるコンテンツをテンプレートに入力します


コードをコピーします コードは次のとおりです:

#eg これは静的なホームページです。

関数 staticIndex(){

$newslist = $article->getArticles(null,54,'DESC',1,6,false,1,2,'',0,0,1);
if($newslist){
foreach($ $k=>$v){
$newslist[$k]['title_all'] = $v['title'];
$newslist[$k]['title'] = Cutstr($v[ 'タイトル'],36,'...');
}
$smarty->assign('ニュースリスト',$ニュースリスト);
}

$content = '';
$content = $smarty->fetch('index.html',true);//これは静的ページを生成する Smarty 独自の関数です
$static_name = ROOT_PATH.'index.html '; //静的ページを生成する現在のパスファイルです
fopen($static_name,'a');//このファイルを開きます
@file_put_contents($static_name,$content);//最後に書き込みます
return true;
}

//さまざまなカテゴリに従って静的化された静的リストページ

function staticContent(){//必要な静的アイテムの数
$ids = array();//すべてのコンテンツを取得します
$ids = $this->getListIds();//このメソッドはすべてのコンテンツを取得します。以下の赤いテキストはそのメソッドに対応します
foreach($ids as $k=>$value){
//echo $value['catid'];
if(!file_exists(ROOT_PATH.'demo/')){ / / ルート ディレクトリにこのフォルダーがあるかどうかを確認します。存在しない場合は、デモ フォルダーを作成します
mkdir(ROOT_PATH.'demo/');
}
if(!file_exists(ROOT_PATH.'demo/'.$value[' catid '])){//このフォルダ配下に該当するカテゴリフォルダがあるか判定
mkdir(ROOT_PATH.'demo/'.$value['catid']);
}
$html_content = $this->getDemoContent ($value['demoid']);
$static_name = ROOT_PATH.'demo/'.$value['catid'].'/'.$value['demoid'].'.html';
fopen($ static_name,'a');
@file_put_contents($static_name,$html_content);
}
return true;
}

//静的である必要があるページIDを取り出します
function getListIds(){
$sql = "select * from {$this->tablepre}demoid asc によるデモ注文";
$rs = $this->db->getAll($sql);
if($rs){
return $rs;
} else{
return false;
}
}

//コンテンツ単一ページ静的
function getDemoContent($id){
global $smarty,$view_templates,$admin_templates;
loadModel(array('demo'));
$demo = 新しいデモ();
$content = '';
$smarty->template_dir = ROOT_PATH.$view_templates;
$getMobanOne = $this->getMobanDetail($id);
$mobandetail = $demo - >MobanList($id);
foreach($mobandetail as $k=>$v){
$smarty->assign($k,$v);
}
$this->catid = $ getMobanOne ['catid'];
$smarty->assign('pre_title',$mobandetail['membername']);
$smarty->assign('mobandetail',$mobandetail);
$content = $smarty - >fetch('demo_show.html',true);
$smarty->template_dir = ROOT_PATH.$view_templates;
return $content;
}

以前は静的ページを生成するために毎回 PHP ファイルを実行する必要がありましたが、今では必要なときに生成されるようになりました。皆さんの仕事の幸運を祈っています。

www.bkjia.com本当http://www.bkjia.com/PHPjc/760286.html技術記事まず、静的化する必要があるコンテンツをテンプレートに入力し、次のようにコードをコピーします。 #eg. これは関数 staticIndex(){ $newslist = $article-getArticles(nul...
)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。