gk_portfolio_J!3 解壓縮
資料夾改名為
yeh_portfolio_J!3
第一件事情是要搞定joomla佈景的XML檔案
<?xml version="1.0" encoding="utf-8"?><extension version="2.5" type="template"> <name>mynewtemplate</name> <creationDate>2008-05-01</creationDate> <author>John Doe</author> <authorEmail>john@example.com</authorEmail> <authorUrl>http://www.example.com</authorUrl> <copyright>John Doe 2008</copyright> <license>GNU/GPL</license> <version>1.0.2</version> <description>My New Template</description> <files> <filename>index.php</filename> <filename>templateDetails.xml</filename> <folder>images</folder> <folder>css</folder> </files> <positions> <position>breadcrumb</position> <position>left</position> <position>right</position> <position>top</position> <position>user1</position> <position>user2</position> <position>user3</position> <position>user4</position> <position>footer</position> </positions></extension>
改上面資訊的部分就好,可以留白沒關係,改好把檔案壓縮成ZIP檔案。
注意要是ZIP檔案才能上傳安裝。
接下來改動翻譯INI檔案部分。
剛剛的XML檔案要改
<languages folder="language">
<language tag="zh-TW">zh-TW/zh-TW.tpl_Yeh_portfolio.ini</language>
</languages>
去language資料夾改檔名和路徑
zh-TW/zh-TW.tpl_Yeh_portfolio.ini
內容有空慢慢翻譯
下個檔案是error.php檔案,應該是去偷system這個佈景的就可以了。
這是網頁錯誤時要顯示的頁面。
這個檔案應該不是必備的,若沒有這個檔案應該會用系統內建的。
在這裡有一個我改的範例含完整註解
<?php
/**
* 如果找不到當前佈景的error.php檔案
* 會去找系統的錯誤檔案「...\templates\system\error.php」
* 所以這個檔案基本上是按照該檔案修改來的。
*/
//------------------------------------------------------------
//「defined('_JEXEC') or die;」聲明宣告會檢查該檔案是否從 Joomla! 內部取出的,並且會保護您的網站,來讓駭客更難以駭入您的網站。
// 請注意這個不可以引用在index.php中,因為這會啟動Joomla!的session。
// 通常寫在joomla內部PHP程式碼的第一行
defined('_JEXEC') or die;
//------------------------------------------------------------
//提示:此時 JDocumentError 就是 $this 。
//------------------------------------------------------------
// isset()函數是用來判斷變數是不是有存在,如果有就回傳 1(true),如果沒有就回傳空值
// 按照Joomla的設計,有錯誤發生但JDocumentError卻沒有值,應該就是沒有權限所導致的錯誤。
if (!isset($this->error))
{
//JERROR_ALERTNOAUTHOR的文字會從語言檔案中找出來然後取代。
//在中文的「...\language\zh-TW\zh-TW.ini」中可以找到:
//JERROR_ALERTNOAUTHOR="你並沒有檢視這項資源的權限。"
$this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
$this->debug = false;
}
//------------------------------------------------------------
//------------------------------------------------------------
// 取出應用程式物件,供後續使用
$app = JFactory::getApplication();
//------------------------------------------------------------
//$this->language = $doc->language;
//$this->direction = $doc->direction;
//$tplUrl = JUri::base() . 'templates/' . $this->template;
?>
<?php //------------------------------------------------------------?>
<?php //以下開始是要刻出來的HTML碼?>
<!DOCTYPE html>
<?php //希望印出:「<html lang="zh-tw" dir="ltr">」?>
<?php //dir="ltr"表示網頁文字預設從左到右排列?>
<html lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
<?php //************************************************************?>
<?php //HEAD部分開始?>
<head>
<?php //meta抄標準的範例,一般用UTF-8比較不會亂碼?>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<?php //這句是抄自system佈景預設要呈現的字,會顯示在網頁的標題,有興趣可以改成自己喜歡的文字內容?>
<title><?php echo $this->error->getCode(); ?> - <?php echo htmlspecialchars($this->error->getMessage(), ENT_QUOTES, 'UTF-8'); ?></title>
<?php //link抄標準範例,用來嵌入css檔案,路徑要指定正確,偷懶的做法,指向預設system的,有自訂的再第二次引用,就可以蓋掉之前引用的?>
<link href="<?php echo $this->baseurl; ?>/templates/system/css/error.css" rel="stylesheet" type="text/css" />
<?php //特別有一個rtl用的CSS,但應該不太會用到,很少用到所以自己不寫,指向預設的system的?>
<?php if ($this->direction == 'rtl') : ?>
<link href="<?php echo $this->baseurl; ?>/templates/system/css/error_rtl.css" rel="stylesheet" type="text/css" />
<?php endif; ?>
<?php //特別有一個debug用的CSS,但應該不太會用到,很少用到所以自己不寫,指向預設的system的?>
<?php if ($app->get('debug_lang', '0') == '1' || $app->get('debug', '0') == '1') : ?>
<link href="<?php echo $this->baseurl ?>/media/cms/css/debug.css" rel="stylesheet" type="text/css" />
<?php endif; ?>
<?php //最後設定的CSS樣式將蓋過之前設定的樣式?>
<link href="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template; ?>/css/error.css" rel="stylesheet" type="text/css" />
</head>
<?php //HEAD部分結束?>
<?php //************************************************************?>
<?php //************************************************************?>
<?php //BODY部分開始?>
<body>
<div class="error">
<div id="outline">
<div id="errorboxoutline">
<div id="errorboxheader"><?php echo $this->error->getCode(); ?> - <?php echo htmlspecialchars($this->error->getMessage(), ENT_QUOTES, 'UTF-8'); ?></div>
<div id="errorboxbody">
<p><strong><?php echo JText::_('JERROR_LAYOUT_NOT_ABLE_TO_VISIT'); ?></strong></p>
<ol>
<li><?php echo JText::_('JERROR_LAYOUT_AN_OUT_OF_DATE_BOOKMARK_FAVOURITE'); ?></li>
<li><?php echo JText::_('JERROR_LAYOUT_SEARCH_ENGINE_OUT_OF_DATE_LISTING'); ?></li>
<li><?php echo JText::_('JERROR_LAYOUT_MIS_TYPED_ADDRESS'); ?></li>
<li><?php echo JText::_('JERROR_LAYOUT_YOU_HAVE_NO_ACCESS_TO_THIS_PAGE'); ?></li>
<li><?php echo JText::_('JERROR_LAYOUT_REQUESTED_RESOURCE_WAS_NOT_FOUND'); ?></li>
<li><?php echo JText::_('JERROR_LAYOUT_ERROR_HAS_OCCURRED_WHILE_PROCESSING_YOUR_REQUEST'); ?></li>
</ol>
<p><strong><?php echo JText::_('JERROR_LAYOUT_PLEASE_TRY_ONE_OF_THE_FOLLOWING_PAGES'); ?></strong></p>
<ul>
<li><a href="<?php echo $this->baseurl; ?>/index.php" title="<?php echo JText::_('JERROR_LAYOUT_GO_TO_THE_HOME_PAGE'); ?>"><?php echo JText::_('JERROR_LAYOUT_HOME_PAGE'); ?></a></li>
</ul>
<p><?php echo JText::_('JERROR_LAYOUT_PLEASE_CONTACT_THE_SYSTEM_ADMINISTRATOR'); ?></p>
<div id="techinfo">
<p><?php echo htmlspecialchars($this->error->getMessage(), ENT_QUOTES, 'UTF-8'); ?></p>
<p>
<?php if ($this->debug) : ?>
<?php echo $this->renderBacktrace(); ?>
<?php endif; ?>
</p>
</div>
</div>
</div>
</div>
</div>
</body>
<?php //BODY部分結束?>
<?php //************************************************************?>
</html>
<?php //------------------------------------------------------------?>
筆記: 錯誤常用的色碼#E44249,這顏色還不錯。
跟著上面要一起用的CSS也附在這,其路徑應該是:.../joomla2/templates/XXXXXXXX/css/error.css。
/*
追加自定的CSS
*/
#outline {
max-width: 640px;
padding: 0;
margin: 100px auto;
}
#errorboxheader {
font-size: 1.6rem;
max-width: 640px;
padding: 10px 0;
}
#errorboxoutline {
max-width: 640px;
}
#errorboxbody {
padding: 20px;
}
#errorboxbody p {
margin: 0 0 10px 0;
}
#techinfo {
margin: 0;
}
#techinfo p {
color: #E44249;
margin: 0;
}
/*
*/
這個error檔案其實不做也沒關係,但是以後想要有好的RWD設計,勢必要改一下,否則可能呈現效果不太好看。
參考網站http://templates.themler.io/Themes/Detail/1197892/IT-Consulting?selectedCms=ARTX&statisticsID=135805506&containsInPage=False
教學http://eddychang.me/blog/18-joomla/54-helloworld-frontend.html