id
。預設為「sidebar-1」。要清除此通知並保持現有的側邊欄內容,請手動將 id
設定為「sidebar-1」。 請見 WordPress 除錯指南 以獲得更多資訊。 (此訊息是在 4.2.0 版本新增的。) in /home/websites/twkang.net/wordpress/wp-includes/functions.php on line 4231繼上次那篇之後,我在各教學網站上打滾了很久,因為CI的分頁雖然很方便,但是不知道是不是使用的族群太少,一些比較複雜一點功能的文件真的是少的很可憐。像這次遇到分頁的問題就讓我進度卡到陰了一整個禮拜。
我們要弄的是在搜尋後,會將搜尋值keep在input box裡,並將結果顯示在下方表格裡,聽起來很簡單,但是做起來還蠻複雜的。
首先要將CI預設URI的//之前為空值會自動刪掉的部份做修改(以下轉自諾魯島)。 → /system/libraries/URI.php
//1. 註解掉 function _fetch_uri_string 中的
[php]$path = (isset($_SERVER)) ? $_SERVER : @getenv(‘PATH_INFO’);[/php]
//2. 在該行下面加入
[php]</p>
<p>$path = ”;<br />
if (isset($_SERVER) && isset($_SERVER)) {<br />
$path = str_replace($_SERVER, ”, $_SERVER);<br />
} else {<br />
$path = @getenv(‘PATH_INFO’);<br />
}</p>
<p>[/php]
//3. 將 function _explode_segments() 中的 if ($val != ”) 註解掉
這段改好之後,你在controller裡加上的$var/就不會因為空值被刪掉,再來,就是中文顯示的問題。
因為CI內建的一些功能沒有限制很多,所以也建議不要寫死(上述那個有用到再改,目前還不知道怎麼拉出來做),在中文設定上自己建一個MY_URI(要在網址列上傳中文)。
[php]</p>
<p>class MY_URI extends CI_URI {<br />
function _filter_uri($str)<br />
{<br />
if ($str != ” && $this->config->item(‘permitted_uri_chars’) != ” && $this->config->item(‘enable_query_strings’) == FALSE)<br />
{<br />
$str = urlencode($str); //編碼(解決url中文字問題)<br />
if ( ! preg_match("|^[".str_replace(array(‘\\-‘, ‘\-‘), ‘-‘, preg_quote($this->config->item(‘permitted_uri_chars’), ‘-‘))."]+$|i", $str))<br />
{<br />
show_error(‘The URI you submitted has disallowed characters.’, 400);<br />
}<br />
$str = urldecode($str); //解碼<br />
}</p>
<p>// Convert programatic characters to entities<br />
$bad = array(‘$’, ‘(‘, ‘)’, ‘%28’, ‘%29’);<br />
$good = array(‘$’, ‘(‘, ‘)’, ‘(‘, ‘)’);</p>
<p>return str_replace($bad, $good, $str);<br />
}<br />
}</p>
<p>[/php]
這樣就可以解決中文問題。分頁的部份目前是解決了一大半,還好同事有看到這篇文章,不然應該還是卡在那邊了 囧>
參考網站:諾魯島