CMS模塊內容設計分為主表和附表 主表:存儲的字段用于列表循環和搜索 附表:存儲的字段用于內容頁顯示(原則上不能出現在列表顯示)
設計附表是為了減輕主表的查詢壓力,把一些不常用于列表的字段放在附表中;
如果非要把附表字段用在列表循環里面,就違背了附表的設計理念,這樣想法是不效率的,非要做的話有兩種解決方法
例如news模塊的附表的content字段,我想在列表顯示
方法一、通過PHPmyadmin工具手動把content改為主表(需要有數據庫基礎,沒有技術基礎請看下面的方法)
操作數據庫需要提前備份數據,以免數據丟失不可逆轉。 1、進入cms自定義字段里面,找到content字段的id號 {xunruicms_img_title} 2、dr_field表,通過content的id編號,找到content字段的數據 {xunruicms_img_title} 把0改成1 3、進入模塊主表的數據表 dr_1_xxxx,新建一個content字段 {xunruicms_img_title} 4、然后進入模塊附表數據 dr_1_xxxx_data_0,將附表的數據復制到主表的content字段中:
UPDATE?`dr_1_xxxx`?a,?`dr_1_xxxx_data_0`?b?SET?b.`content`?=?a.`content`?WHERE?a.id?=?b.id;
如果有多個附表就執行多次后綴_1,_數字 5、然后再手動刪除附表dr_1_xxxx_data_0的content字段,刪掉 6、然后進入cms后臺更新緩存即可
方法二、不禁用本身的content字段,列表循環標簽改一下:
join=1_news_data_0?on=id
例如列表循環時,加上的效果
{module?catid=$catid?join=1_news_data_0?on=id?order=updatetime?page=1}
這個寫法僅限于5萬以內的數據 這個方法效率遠遠沒有方法1高
方法三:在循環中進行二次調用content標簽,這種寫法效率最低,會影響整個頁面的查詢速度
{module?module=news?*******?return=r}

{content?module=news?id=$r.id}
標題:{$t.title}
內容:{$t.content}
{/content}

{/module}
本文地址:https://www.xunruicms.com/doc/678.html

聲明:本站所有文章資源內容,如無特殊說明或標注,均為采集網絡資源。如若本站內容侵犯了原著者的合法權益,可聯系本站刪除。