網頁

2014年3月25日 星期二

[Discuz] 解決 X3.0 發帖時可@任何人,回覆時失敗的問題

Discuz @ 的功能是個可以增加使用者互動的好東西。

但是預設設定是需要對方為好友或關注的對象。

對於小眾的討論來說實在有些不方便

後台提供設置的地方,發帖時可@任何人就可以解決這樣的問題

設置方法如下:


1.進入後台後點選 -> 全局 -> 站點功能 -> 其他 -> 發帖時可@任何人















經過實際測試,在發帖子時標記非好友的用戶是正常的
(注意:直接"@用戶"時,後面記得多一個空白)

但是在回覆帖子時,會發現有時@成功,有時卻失敗。
找不到辦法下,只好去挖一下程式碼了。

@相關的PHP程式碼位置如下

\source\class\extend\extend_thread_allowat.php

大約在 92~99行位置
 
    foreach(C::t('common_member')->fetch_all_by_username($atlist_tmp) as $row) {
      if(!in_array($row['uid'], $ateduids)) {
       $this->atlist[$row[uid]] = $row['username'];
      }
      if(count($this->atlist) == $maxselect) {
       break;
      }
     }
變成
 
    foreach(C::t('common_member')->fetch_all_by_username($atlist_tmp) as $row) {
      //if(!in_array($row['uid'], $ateduids)) { 將這段if 註記掉
       $this->atlist[$row[uid]] = $row['username'];
      //} 註記掉
      if(count($this->atlist) == $maxselect) {
       break;
      }
     }
就可以正常標記不是朋友的人啦!

沒有留言:

張貼留言