在織夢的大括號標簽判斷中,name=array runphp 生成靜態(tài)時,會出現(xiàn)只獲取一個字節(jié)的BUG,如
{dede:field name=array runphp=yes}@me = (@me['seotitle'] != '' ? "{@me['seotitle']}":"{@me['title']}");{/dede:field}
生成靜態(tài),欄目列表頁第二頁時出現(xiàn)中文亂碼,因為它只輸出一個字節(jié)
這是官方程序的一個BUG
解決方法一
{dede:field.id runphp=yes}global $dsql;$row = $dsql->getOne("SELECT typename,seotitle FROM `dede_arctype` WHERE id = @me");@me = $row['seotitle']=='' ? $row['typename'] : $row['seotitle'];{/dede:field.id}
最直接的方法,查表里的字段,1個字段沒有值就輸出另1個字段的值
解決方法二
打開 /include/dedetag.class.php 找到 大概在 680 行
$phpcode = preg_replace("/'@me'|\"@me\"|@me/i", '$DedeMeValue', $phpcode);
改成
if(is_array($this->CTags[$i]->TagValue))
{
$phpcode = preg_replace("/'@me'|\"@me\"|@me/i", '$DedeMeValue', $phpcode);
}