/ / 以下はデータベースのクエリタグです
{mzrui:list table='product' order='uid desc'}
{$prod_id['name']}
{/mzrui}
< /div>
{ $v['typedir']} これは、現在のデータベース列のパスを返します。
問題は、静的化中にすべてのパスが静的になるわけではないことです。
バックグラウンドでテンプレートを静的および動的に解析するときに、同じ解析関数を使用するようになりました。
$str = preg_replace('/{mzrui:([w]+ )s+([^}]+)}/ie',"self::mzrui_tag('$1','$2')",$str);テンプレート ファイル データベース クエリ ステートメント
public static function mzrui_tag($tab,$sql) //mysql 解析
{
global $mz_mysql,$prefix;
preg_match_all("/([a-z ]+)=[']?([^'] +)[']?/i"、stripslashes($sql)、$matches、PREG_SET_ORDER);
$check = array('type','rows' ,'table','order','limit') ;
foreach($matches as $v)
{
if(in_array($v[1],$check))
{
$$v[1] = $v[ 2]; //変数の変数
}
}
switch($tab)
{
case 'channel ': // ナビゲーション バーのラベル
{
$result = $mz_mysql->sql("select * from ".$prefix."kind where kind=0");
while($v = mysql_fetch_array($result))
{
if($v['html'] == 0) // ここでは、静的カラムが生成されない場合は動的リンクが返されると判断され、それ以外の場合は動的リンクが返されます。データベース内の静的フォルダーのアドレスが取得されます
{
$v['typedir' ] = 'index.php?ac=list&id='.$v['uid'];
$str[] = $v;
}
}
$GLOBALS['data'] =$str;
}
Break;
case 'list': //記事列タグ
{
if(!empty($_GET['id'])) // ここで動的リンクかどうかを判断するには、現在のカテゴリ列の ID を取得しますが、静的ページがバックグラウンドで生成された場合は、 、問題が発生します
{
$id = $mz_mysql->sql("select * from " .$prefix."kind where uid=".$_GET['id']); >
}
}
Break;
}
return '< ?php foreach($GLOBALS['data'] as $v){ ?>' / /Return data
}
今解決する必要があるのは、パスの戻りの問題と列 ID の問題です。この考えは非常に複雑です。経験豊富なアドバイスを与えるのを忘れていました。
------解決策----------------------
cmsを使っていますか?全部自分で書くと無理です
静的化は非常に簡単で、出力変数を指定形式のファイル(html)に入れるだけです
関数 file_put_contents() または fwrite() で出来ます、
に道路強度を入力する場合は、道路の強度を指定する必要があります。