雖然Joomla 1.5 用得很順暢,不過最近心癢,為其中一個客戶裝上1.7,結果也看到了不是新就是好的問題。其實1.6 和1.7 joomla 真的不知道在搞什麼飛機,功能上不算強大了(對比wordpress),但有些地方卻退步了。
今天的筆記就是joomla 1.7 的登入。在用戶體驗方面,1.7 好像忽略了這點(希望不是我的無知),在無法瀏覽的地方,都給上error: 『you are not authorized to view this resource』。真的很嚇人,就這麼一句,那要人怎麼才能看呢?不知道,沒下文。其實看到這句,有幾個問題會導致:
1. 文章已經被移到垃圾桶,或不發布,但連接還在
2.權限問題,無法看
3.地址已經被改了
4.有些文章設定了閱讀期限,過期了
其實在1.6後有一個redirect 的東西,就是把錯誤的東西都重新轉到某一個網頁。不過這方法在一些權限問題無法解決,例如某文章需要登入觀看,不能一個一個redirect吧。而且提示錯誤不是很好的做法,網上找不到插件,因此我只能對內核進行修改!
joomla 1.7 無法瀏覽時提示登入的方法:
修改文件,記得先備份:components/com_content/views/article/view.html.php
查找if ($item->params->get(‘access-view’)
你會看到下面有這幾個
JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR')); return
把他刪除,用下面代替,
// 提示登入頁面 $uri = JFactory::getURI(); $app->redirect('index.php?option=com_users&view=login&return=' . base64_encode($uri), JText::_('此頁面需要會員登入才能登入')); return;
這樣就修改完成,在提示無權時就會出現登入窗口,在此做一個記號,希望有用。