Joomla!
跳至導覽
跳至搜尋
Joomla! | |
![]() | |
研發者 | The OSM Development Team |
---|---|
最新穩定版 | 3.9.15 / 2020年01月28日 |
作業系統 | 跨平台 |
類型 | 內容管理系統 |
授權協議 | GPL |
網站 | www.joomla.org |
Joomla!為一套以PHP+MySQL為架構的內容管理系統。參照:『維基百科~Joomla』。
Joomla!下載
- ver 1.5.20
- Joomla_1.5.20-Stable-Full_Package.zip(主程式與英文語系檔)
相關文件
相關網站
相關外掛
- 元件(Component),模組(Module),插件(Plugins)
帳號相關
登入與註冊
YJ Pop Login與YJ Registration Module的注意事項
- 需至少註冊免費帳號,才可以下載。Free Membership(最右邊的「Free Membership」)
- 這兩個模組為AJAX的顯示方式,原本Joomla!的模組要設定一下,不然會都顯示出來。
- Login Form,(選單→沒有)
- 需要自行中文化,en-GB.mod_yj_pop_login.ini與en-GB.mod_yj_register.ini,分別翻譯成zh-TW.mod_yj_pop_login.ini與zh-TW.mod_yj_register.ini (需存檔成utf8無BOM)
會員管理
- UserMeta(在後台的「會員管理 」裡,為每一個User增加資料欄位)
UserMeta的應用,要另外寫php的code(可配合外掛Juml)
<?php defined("_JEXEC") or die("Restricted access"); $user =& JFactory::getUser(); if (!$user->guest) { //已登入的User $db =& JFactory::getDBO(); $query = 'SELECT * FROM jos_usermeta where user_FK='.$user->id; $db->setQuery( $query ); $items = $db->loadRow(); if (!isset($items[1])) { //已登入, 但尚未在後台設定過該User的UserMeta } } else { //訪客 } ?>
內容展示
圖庫展示
多媒體播放
與MediaWiki整合相關
Slides
Joomla Smart Slide Show的注意事項
- 免費版本,會在左下角出現一個「XML/SWF」的廣告連結。付費版本要US$15。
- 圖檔來源,限定必須在圖一個網站之內,跨網站無法顯示。
- 圖檔應避免在顯示時開啟縮放,不然載入真的會很慢。
Tabs
文件管理
留言板
- Simple Guest Book Component(留言板元件,缺點是已登入的User不會在留言時自動帶入個人資料)
- JComments(內容發佈後的「回應」)
活動管理
- JEvents(活動管理元件,配合它的模組使用,)
社群
- Community Builder(社群元件,需註冊才能下載)
WYSIWYG編輯器
備份
- Akeeba Backup(非商業使用)
核心強化
- Juml(Joomla! custom content extension) - 簡介
- Modules Anywhere
- Plugin In Module
客服系統
- Webamoeba Ticket System / Help Desk(票務系統/服務台)
其他
網站佈景(Template)
- 相關工具
- Free Joomla 1.5 Templates
- siteground.com(要填email才能下載)
- joomla24.com
- joomlatp.com
- joomla-templates.com
FAQ
Joomla!安裝時,出現錯誤訊息「Unable to connect to the database:Could not connect to MySQL」
- 可能原因:
- MySQL預設的TCP Port 3306被Windows防火牆檔到?
- Windows的連線數超過上限?
- MySQL不允許localhost連線?
元件、模組、佈景主題……等無法安裝,或網站的設定檔無法儲存
- 網站目錄與檔案的權限應設為777
- 如果手動編輯網站的設定檔 configuration.php ,則存檔的格式必須為 UTF-8 無BOM檔頭,不然設定檔裡的中文會變成亂碼。
Joomla!安裝完後,登入後台出現錯誤訊息
- Fatal error: Allowed memory size of 8388608 bytes exhausted……
- php.ini要改「memory_limit」,放寬記憶體使用上限
在Joomla!之中使用jQuery
如何提高Joomla!網站的安全性
- 避免使用具有高風險的套件
- 安全性檢查清單
如何移除或更改網頁上的版權訊息
- Joomla!是一套GPL授權的OpenSource,因此允許架站者自行移除或更改網頁上所顯示的版權訊息。
- 「 Copyright © 2010 Open Source Matters. 版權所有. Joomla!是基於GNU/GPL授權規定的自由軟體.」
- 模組 /modules/mod_footer/mod_footer.php
- 模板 /modules/mod_footer/tmpl/default.php
- 英文語系文字 /language/en-GB/en-GB.mod_footer.ini
- 中文語系文字 /language/zh-TW/zh-TW.mod_footer.ini
- 「核心是 Joomla!. 有效 XHTML 和 CSS.」
- 模板 /templates/rhuk_milkyway/index.php
- 英文語系文字 /language/en-GB/en-GB.ini (POWERED BY=Powered by)
- 中文語系文字 /language/zh-TW/zh-TW.ini (POWERED BY=核心是)
- 首頁Logo圖 mw_joomla_logo.png
- /templates/rhuk_milkyway/css/template.css (定義在 div#logo 的 background: url(../images/mw_joomla_logo.png) 0 0 no-repeat;)
- 網站Icon(用在IE或FireFox所顯示的Url書籤的Icon)
- /templates/rhuk_milkyway/favicon.ico
關於輸出pdf檔
關於各頁面的預設Url
- 會員
- 登入 index.php?option=com_user&view=login
- 註冊 index.php?option=com_user&view=register
- 忘記密碼 index.php?option=com_user&view=reset
- 忘記帳號 index.php?option=com_user&view=remind
- 文章
- 文章 index.php?option=com_content&view=article&id=文章id&Itemid=目錄id
- 分類 index.php?option=com_content&view=category&layout=blog&id=分類id&Itemid=目錄id
- 單元 index.php?option=com_content&view=section&id=單元id&Itemid=目錄id
自訂登入頁面
- 登入 index.php?option=com_user&view=login
- 「登入」標題
- \components\com_user\views\login\tmpl\default.php
- 自訂登入頁面
- \components\com_user\views\login\tmpl\default_login.php
- 登入時的錯誤訊息
- 由所選用的templates的 index.php 的 <jdoc:include type="message" /> 所顯示
- 登入錯誤時,跳回首頁,而沒有跳回登入頁面?
- \components\com_user\controller.php
- 「登入」標題
修改function login()
function login() { // Check for request forgeries JRequest::checkToken('request') or jexit( 'Invalid Token' ); global $mainframe; if ($return = JRequest::getVar('return', '', 'method', 'base64')) { $return = base64_decode($return); if (!JURI::isInternal($return)) { $return = ''; } } $options = array(); $options['remember'] = JRequest::getBool('remember', false); $options['return'] = $return; $credentials = array(); $credentials['username'] = JRequest::getVar('username', '', 'method', 'username'); $credentials['password'] = JRequest::getString('passwd', '', 'post', JREQUEST_ALLOWRAW); //preform the login action $error = $mainframe->login($credentials, $options); if(!JError::isError($error)) { // Redirect if the return url is not registration or login if ( ! $return ) { $return = 'index.php?option=com_user'; } $mainframe->redirect( $return ); } else { // Facilitate third party login forms if (( ! $return ) or ($return == 'index.php') ) { //<-- 改成這樣 $return = 'index.php?option=com_user&view=login'; } // Redirect to a login form $mainframe->redirect( $return ); } }