git-svn-id: http://xe-core.googlecode.com/svn/trunk@1643 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-06-18 10:53:47 +00:00
parent 802981e6cd
commit 093ee55d4a
20 changed files with 266 additions and 309 deletions

View file

@ -1,5 +1,20 @@
@charset "utf-8";
/*
Used Hack
IE6 & Below
{ property:value; _property:value;}
IE7 Only
*:first-child+html #selector
IE7 & IE6 & Below
*:first-child+html #selector,
* html #selector {}
*/
/* Special Class Selector */
.fr { float:right;}
.fl { float:left;}
/* default.css - Type Selector Definition */
* { margin:0; padding:0; font-family:"돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;}
html, body { height:100%;}

View file

@ -47,7 +47,7 @@
if(file_exists($edited_layout)) $this->setEditedLayoutFile($edited_layout);
// 카테고리 xml 파일 위치 지정
$this->module_info->category_xml_file = sprintf('./files/cache/blog_category/%d.xml.php', $this->module_info->module_srl);
$this->module_info->category_xml_file = sprintf('%s/files/cache/blog_category/%d.xml.php', getUrl(), $this->module_info->module_srl);
// 메뉴 등록시 메뉴 정보를 구해옴
if($this->module_info->menu) {

View file

@ -15,6 +15,7 @@
$lang->cmd_remake_cache = '캐시파일 재생성';
$lang->cmd_layout_setup = '레이아웃 설정';
$lang->cmd_layout_edit = '레이아웃 편집';
$lang->cmd_comment_registration = '댓글 등록';
// 항목
$lang->parent_category_name = '상위 카테고리명';

View file

@ -67,7 +67,7 @@
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('act','')}'" />
<!--@end-->
<input type="submit" value="{$lang->cmd_registration}" accesskey="s" />
<input type="submit" value="{$lang->cmd_comment_registration}" accesskey="s" />
</td>
</tr>
</table>

View file

@ -56,7 +56,7 @@
</fieldset>
<ul class="buttonWrite">
<li><span class="buttonTypeA"><img src="./images/blank.gif" alt="" class="leftCap" /><img src="./images/{$module_info->colorset}/iconWrite.gif" width="12" height="11" class="icon" alt="" /><input type="submit" value="{$lang->cmd_write}" accesskey="s" /><img src="./images/blank.gif" alt="" class="rightCap" /></span></li>
<li><span class="buttonTypeA"><img src="./images/blank.gif" alt="" class="leftCap" /><img src="./images/{$module_info->colorset}/iconWrite.gif" width="12" height="11" class="icon" alt="" /><input type="submit" value="{$lang->cmd_comment_registration}" accesskey="s" /><img src="./images/blank.gif" alt="" class="rightCap" /></span></li>
</ul>
</form>

View file

@ -1,51 +1,35 @@
#blog_category .title_box {
cursor:pointer;
padding-left:18px;
background:url(../images/tree_menu/folder.gif) no-repeat left;
margin-bottom:3px;
}
#blog_category { position:relative; border:1px solid #e0e1db; background:url(../images/white/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }
#blog_category .node_item A {
text-decoration:none;
}
#blog_category .title_box { position:relative; border-left:1px solid #ffffff; border-right:1px solid #ffffff; padding:7px 0 0 12px; height:21px; _height:20px; }
#blog_category .selected {
background-color:#0E078F;
font-weight:bold;
color:#FFFFFF;
font-size:9pt;
cursor:pointer;
padding:1px 2px 1px 2px;
}
#blog_category .category_list { padding:.8em 0 .8em 0; }
#blog_category .unselected {
background-color:#FFFFFF;
font-weight:normal;
color:#000000;
font-size:9pt;
cursor:pointer;
padding:1px 2px 1px 2px;
}
#blog_category .node_item a { color:#6b6b6b; }
#blog_category .selected { font-family:Tahoma; font-weight:bold; cursor:default; font-size:1em; color:#54564b; }
#blog_category .unselected { cursor:pointer; font-family:Tahoma; font-size:1em; color:#54564b; }
#blog_category .document_count {
margin-left:5px;
color:#AAAAAA;
font-size:9px;
font-family:tahoma;
font-size:.8em;
}
#blog_category .page {
cursor:pointer;
background:url(../images/tree_menu/page.gif) no-repeat left;
background:url(../images/white/iconList.gif) no-repeat left;
}
#blog_category .folder_open {
cursor:pointer;
background:url(../images/tree_menu/page_folder.gif) no-repeat left;
background:url(../images/white/iconFolderClose.gif) no-repeat left;
}
#blog_category .folder_close {
cursor:pointer;
background:url(../images/tree_menu/folder.gif) no-repeat left;
background:url(../images/white/iconFolderClose.gif) no-repeat left;
}
#blog_category .item_open {
@ -58,6 +42,10 @@
padding-left:18px;
}
#blog_category .line_null {
padding-left:13px;
}
#blog_category .line_open {
display:block;
padding-left:18px;

View file

@ -1,144 +1,141 @@
@charset "utf-8";
body {
margin:0px;
padding:0px;
}
/*
NHN UIT Lab. WebStandardization Team (http://html.nhndesign.com/)
Jeong, Chan Myeong 070601~070630
*/
/**
* 블로그 기본 기능
**/
.blog_default_menu {
margin:5px 10px 0px 10px;
width:890px;
text-align:right;
}
/* Common Layout of Content Group */
#content { width:100%; position:relative; padding-bottom:2em;}
/**
* 상단 로고 메인 1차 메뉴
**/
.layout_top {
margin:10px 10px 0px 10px;
width:890px;
}
/* Blog Layout - Common */
#bodyWrap { position:relative; width:810px; margin:0 auto;}
/* 상단 로고 부분 */
.layout_logo A {
font-weight:bold;
font-size:16pt;
color:#888888;
text-decoration:none;
}
/* Blog Layout - Content Body */
#contentBody { overflow:hidden; padding-bottom:2em; _width:100%;}
/* 상단 1차 메뉴 */
.layout_first_menu {
border-bottom:2px solid #DDDDDD;
width:100%;
text-align:right;
padding:3px 0px 3px 0px;
}
/* Blog Layout - ColumnLeft */
#columnLeft { float:left; width:182px; margin-right:8px;}
/**
* 좌측 메뉴 메인 2차 메뉴, 로그인 플러그인 기타
**/
.layout_left {
width:220px;
float:left;
margin-top:10px;
position:absolute;
left:10px;
z-index:10;
}
/* Blog Layout - ColumnRight */
#columnRight {}
#blog_category {
padding:10px;
margin-bottom:10px;
}
/* Blog Layout - Content */
#content { float:left; width:620px; overflow:hidden;}
/* 컨텐츠 */
.layout_content {
position:absolute;
left:0px;
padding:10px 10px 0px 240px;
z-index:1;
width:660px;
}
#bodyWrap #accountNavigation { float:right; padding-bottom:.5em; overflow:hidden;}
#bodyWrap #accountNavigation li { float:left; margin-right:-1px; background:url(../images/white/blogHeaderVr.gif) no-repeat right center;}
#bodyWrap #accountNavigation li a { display:block; float:left; padding:0 .75em; color:#999999; white-space:nowrap;}
/* 상단 메뉴 */
.first_menu {
background-color:#999999;
padding:3px 10px 3px 10px;
margin-left:5px;
}
.first_menu A {
font-weight:normal;
color:#FFFFFF;
text-decoration:none;
}
.first_menu_selected {
background-color:#000000;
padding:3px 10px 3px 10px;
margin-left:5px;
}
.first_menu_selected A {
color:#FFFFFF;
font-weight:bold;
text-decoration:none;
}
/* 프로필 영역 */
.layout_profile {
border:2px solid #EEEEEE;
text-align:center;
padding:10px 0px 10px 0px;
margin-bottom:10px;
}
.layout_profile .profile_image {
margin-bottom:10px;
}
.layout_profile .profile{
color:#555555;
text-align:left;
padding:0px 10px 10px 10px;
}
/* 검색 */
.layout_search {
border-top:2px solid #EEEEEE;
padding:10px;
margin-bottom:10px;
}
.layout_search .search_keyword {
border:1px solid #EEEEEE;
width:100px;
}
.layout_search .search_button {
border:1px solid #AAAAAA;
background-color:#FFFFFF;
width:40px;
}
/* 좌측 관리자 메뉴 */
.layout_admin {
border-top:1px solid #EEEEEE;
text-align:center;
padding-top:10px;
margin:10px 5px 0px 10px;
}
.layout_admin A {
color:#AAAAAA;
text-decoration:none;
}
.accountNavigation { float:right; padding-bottom:.5em; overflow:hidden;}
.accountNavigation li { float:left; padding:0 .5em 0 .6em; background:url(../images/white/line_1x10_e0e0e0.gif) no-repeat left .4em;}
.accountNavigation li a { font-size:11px; white-space:nowrap; color:#666666;}
.accountNavigation li.rss { background:none; padding-top:.4em;}
.accountNavigation li.join { background:none; padding-top:.4em;}
.accountNavigation li.join a { display:block; background:url(../images/white/iconMyInfo.gif) no-repeat left .1em; padding:0 0 0 1.2em;}
.accountNavigation li.myInfo { padding-top:.4em;}
.accountNavigation li.myInfo a { display:block; background:url(../images/white/iconMyInfo.gif) no-repeat left .1em; padding:0 0 0 1.2em;}
.accountNavigation li.admin { background:none; padding-top:.4em;}
.accountNavigation li.admin a { display:block; background:url(../images/white/iconAdmin.gif) no-repeat left .1em; padding:0 0 0 1.2em;}
.accountNavigation li.loginAndLogout { background:none; padding-left:0;}
/* 내용 */
#content {
}
/* Blog Layout - Header */
#header { clear:both; height:9.5em; margin-bottom:.5em; border:1px solid #e0e1dc; border-bottom:none; background:#fbfbfb url(../images/white/blogHeaderLine.gif) no-repeat left bottom; overflow:hidden;}
/* Blog header Child*/
#bodyWrap #header h1 { font-size:2em; padding:.8em 0 .2em 30px; letter-spacing:-.05em;}
#bodyWrap #header h1 a { font-family:Tahoma; color:#53554a;}
#bodyWrap #header #tagLine { padding:0 0 0 30px; color:#7e7f77;}
#bodyWrap #header #globalNavigation { float:right; padding:1em 1em 1em 0; overflow:hidden;}
#bodyWrap #header #globalNavigation li { float:left; margin-left:-1px; background:url(../images/white/blogHeaderVr.gif) no-repeat left center;}
#bodyWrap #header #globalNavigation li a { display:block; float:left; padding:0 .75em; font-weight:bold; font-family:Tahoma; color:#54564b; white-space:nowrap;}
#bodyWrap #header #globalNavigation li.on a { color:#fe3614;}
/* Column Left & Right Common Child */
.boxTypeA { position:relative; border:1px solid #e0e1db; margin-bottom:.7em;}
.boxTypeB { position:relative; border:1px solid #e0e1db; background:url(../images/white/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em;}
.boxTypeB h2 { position:relative; border-left:1px solid #ffffff; border-right:1px solid #ffffff; padding:7px 0 0 12px; height:21px; _height:20px; font-size:1em; color:#54564b; font-family:Tahoma;}
*:first-child+html .boxTypeB h2 { height:20px;}
.boxTypeB .toggleMask {position:absolute; top:8px; right:5px; cursor:pointer; width:13px; height:13px; overflow:hidden;}
.boxTypeB .showHide { position:relative;}
.boxTypeB .optionList { position:absolute; top:8px; right:0; overflow:hidden;}
.boxTypeB .optionList li { float:left; padding:0 .5em; margin-left:-1px; background:url(../images/white/line_1x10_e0e0e0.gif) no-repeat left center;}
.boxTypeB .optionList li a { color:#a4a4a4; font-size:.9em;}
.boxTypeB .optionList li.on a { color:#000000;}
.boxTypeB .showAll { color:#000000; font-size:.9em; white-space:nowrap; display:inline-block; position:relative; left:1.2em; padding-right:.6em; background:url(../images/white/iconArrow00.gif) no-repeat right center;}
/* Profile */
div#profile { padding:10px; overflow:hidden;}
div#profile img.profile { width:160px; display:block; margin-bottom:1.2em;}
div#profile dl#hello {}
div#profile dl#hello dt { color:#333333; margin-bottom:.2em;}
div#profile dl#hello dt a { color:#333333;}
div#profile dl#hello dd { color:#777777; margin-bottom:1em;}
div#profile ul#admin { overflow:hidden; height:1.2em;}
div#profile ul#admin li { float:left; padding-right:.6em;}
div#profile ul#admin li a { display:block; padding-left:1.2em;}
div#profile ul#admin li.write a { background:url(../images/white/iconWrite.gif) no-repeat left center;}
div#profile ul#admin li.setup { padding-left:.7em; background:url(../images/white/blogHeaderVr.gif) no-repeat left center;}
div#profile ul#admin li.setup a { background:url(../images/white/iconSetup.gif) no-repeat left center;}
div#profile ul#admin li a { color:#666666;}
/* Search Box */
div#searchBox { margin-bottom:.7em; overflow:hidden; width:100%;}
div#searchBox fieldset { border:none;}
div#searchBox fieldset legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em;}
/* Tags */
div#tag { padding-bottom:1em;}
div#tag .tagList { padding:1.2em; overflow:hidden;}
div#tag .tagList li { display:inline; color:#a4a4a4; margin-right:.1em; line-height:1.5em;}
div#tag .tagList li a { color:#a4a4a4;}
div#tag .tagList li.typeA a { color:#fe3614; font-weight:bold;}
div#tag .tagList li.typeB a { color:#fe3614;}
div#tag .tagList li.typeC a { font-weight:bold;}
/* Neighbor */
div#neighbor {}
div#neighbor #neighborList { padding:1.2em 1.2em 0 1.2em;}
div#neighbor #neighborList li { padding:0 0 .7em 1.2em; background:url(../images/white/iconPlus2.gif) no-repeat left top;}
div#neighbor #neighborList li img { padding-left:.3em; top:.1em;}
div#neighbor #neighborList li a { display:inline-block; color:#333333; font-weight:bold;}
div#neighbor #neighborList li ul { display:none; padding:.7em 0 0 0;}
div#neighbor #neighborList li ul li { padding:0 0 .6em .6em; margin-left:-.6em; background:url(../images/white/iconLineBD.gif) no-repeat left 5px;}
div#neighbor #neighborList li ul li a{ font-weight:normal;}
/* Calendar */
div#calendar { padding:1.2em .8em;}
div#calendar table { width:100%;}
div#calendar table caption { font:bold 1.5em Tahoma; color:#9a9a9a; padding-bottom:.6em;}
div#calendar table caption .mm { font:bold 1em Tahoma; color:#54564b;}
div#calendar table caption a { padding:.2em;}
div#calendar table caption a img { vertical-align:middle;}
div#calendar table th,
div#calendar table td { padding:.25em 0;}
div#calendar table th { font-weight:normal; font-size:.9em; color:#9a9a9a;}
div#calendar table th.sun { color:#fe3614;}
div#calendar table td { text-align:center;}
div#calendar table td a { font:.9em Tahoma; color:#9a9a9a;}
div#calendar table td.sun { color:#fe3614;}
div#calendar table td.sun a { color:#fe3614;}
div#calendar table td.today a { font-weight:bold; color:#54564b;}
div#calendar table td.posted a { text-decoration:underline;}
/* buttonType */
.buttonTypeA { display:block; cursor:pointer; background:url(../images/white/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px;}
.buttonTypeA:hover { text-decoration:none;}
.buttonTypeA img { vertical-align:middle;}
.buttonTypeA input { border:none; cursor:pointer; background:url(../images/white/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px; }
.buttonTypeA .leftCap { width:2px; height:24px; background:url(../images/white/buttonTypeALeft.gif) no-repeat; margin:0 .3em 0 0; position:relative; left:-1px;}
.buttonTypeA .rightCap { width:2px; height:24px; background:url(../images/white/buttonTypeARight.gif) no-repeat; margin:0 -1px 0 .4em;}
.buttonTypeA .icon { margin:0 .2em;}
.buttonTypeB { display:block; cursor:pointer; background:url(../images/white/buttonTypeBCenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; font-size:.9em; white-space:nowrap;}
.buttonTypeB:hover { text-decoration:none;}
.buttonTypeB img { vertical-align:middle;}
.buttonTypeB input { border:none; cursor:pointer; background:url(../images/white/buttonTypeBCenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px; }
.buttonTypeB .leftCap { width:2px; height:21px; background:url(../images/white/buttonTypeBLeft.gif) no-repeat; margin:0 .3em 0 0; position:relative; left:-1px;}
.buttonTypeB .rightCap { width:2px; height:21px; background:url(../images/white/buttonTypeBRight.gif) no-repeat; margin:0 -1px 0 .4em;}
.buttonTypeB .icon { margin:0 .2em;}

View file

@ -19,18 +19,6 @@ Jeong, Chan Myeong 070601~070630
.articleNum { float:left; background:url(../images/white/iconArticle.gif) no-repeat left top; padding:0 0 0 1.5em; margin:.5em 0 0 0;}
.articleNum strong { font:bold 11px Tahoma; color:#ff6600;}
.accountNavigation { float:right; overflow:hidden;}
.accountNavigation li { float:left; padding:0 .5em 0 .6em; background:url(../images/white/line_1x10_e0e0e0.gif) no-repeat left .4em;}
.accountNavigation li a { font-size:11px; white-space:nowrap; color:#666666;}
.accountNavigation li.rss { background:none; padding-top:.4em;}
.accountNavigation li.join { background:none; padding-top:.4em;}
.accountNavigation li.join a { display:block; background:url(../images/white/iconMyInfo.gif) no-repeat left .1em; padding:0 0 0 1.2em;}
.accountNavigation li.myInfo { padding-top:.4em;}
.accountNavigation li.myInfo a { display:block; background:url(../images/white/iconMyInfo.gif) no-repeat left .1em; padding:0 0 0 1.2em;}
.accountNavigation li.admin { background:none; padding-top:.4em;}
.accountNavigation li.admin a { display:block; background:url(../images/white/iconAdmin.gif) no-repeat left .1em; padding:0 0 0 1.2em;}
.accountNavigation li.loginAndLogout { background:none; padding-left:0;}
/* boardList */
.boardList { width:100%; position:relative; border:1px solid #e0e1db;}
.boardList tr.notice { background:#f8f8f8;}
@ -105,21 +93,6 @@ Jeong, Chan Myeong 070601~070630
.pageNavigation a.goToLast img { display:inline-block; padding:2px 0; position:relative; top:2px; _top:1px;}
.pageNavigation .current { position:relative; margin-left:-4px; font:bold 1em Tahoma; color:#ff6600; display:inline-block; padding:1px 7px 1px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
/* buttonType */
.buttonTypeA { display:block; cursor:pointer; background:url(../images/white/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px;}
.buttonTypeA:hover { text-decoration:none;}
.buttonTypeA img { vertical-align:middle;}
.buttonTypeA .leftCap { width:2px; height:24px; background:url(../images/white/buttonTypeALeft.gif) no-repeat; margin:0 .3em 0 0; position:relative; left:-1px;}
.buttonTypeA .rightCap { width:2px; height:24px; background:url(../images/white/buttonTypeARight.gif) no-repeat; margin:0 -1px 0 .4em;}
.buttonTypeA .icon { margin:0 .2em;}
.buttonTypeB { display:block; cursor:pointer; background:url(../images/white/buttonTypeBCenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; font-size:.9em; white-space:nowrap;}
.buttonTypeB:hover { text-decoration:none;}
.buttonTypeB img { vertical-align:middle;}
.buttonTypeB .leftCap { width:2px; height:21px; background:url(../images/white/buttonTypeBLeft.gif) no-repeat; margin:0 .3em 0 0; position:relative; left:-1px;}
.buttonTypeB .rightCap { width:2px; height:21px; background:url(../images/white/buttonTypeBRight.gif) no-repeat; margin:0 -1px 0 .4em;}
.buttonTypeB .icon { margin:0 .2em;}
/* button of list page */
.buttonRight { position:relative; float:right; top:-3em; margin:0 0 -3em 0; _top:-3.5em; padding-right:.5em; overflow:visible;}
.buttonRight ul { float:left; }
@ -134,19 +107,8 @@ Jeong, Chan Myeong 070601~070630
.boardRead .dateAndModify ul { display:inline;}
.boardRead .dateAndModify ul li { float:left; margin-left:.3em;}
/* boardSearch */
.boardSearch { text-align:center; clear:both; width:100%;}
.boardSearch fieldset { border:none; display:inline; overflow:visible; position:relative;}
.boardSearch fieldset legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em;}
.boardSearch * { vertical-align:middle;}
.boardSearch select { float:left;}
.boardSearch input { float:left; margin:0 .3em; background:#fbfbfb;}
.searchButton ul { overflow:hidden;}
.searchButton li { float:left; margin-right:.3em;}
/* boardRead */
.boardRead { position:relative; _width:100%; margin:1em 0 0 0; border:1px solid #e0e1db;}
.boardRead { position:relative; margin:0; border:1px solid #e0e1db; _width:618px; _overflow:hidden; }
.boardRead .originalContent { padding:2em 1.2em 2em 1.2em;}
.boardRead .readHeader { width:100%; padding-bottom:.5em; margin-bottom:1em; border-bottom:1px solid #eff0ed; overflow:hidden;}
@ -268,4 +230,3 @@ Jeong, Chan Myeong 070601~070630
.buttonWrite ul { text-align:center; clear:both; display:block;}
.buttonWrite li { margin-top:.5em; float:right; margin-right:.3em;}
.buttonWrite input { border:none; cursor:pointer; background:url(../images/white/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px; }

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

View file

@ -72,7 +72,7 @@ function blogDrawTreeMenu(oXml, callback_func, resopnse_tags, null_func, param)
var node_list = xmlDoc.getElementsByTagName("node");
if(node_list.length>0) {
var root = xmlDoc.getElementsByTagName("root")[0];
var output = blogDrawNode(root);
var output = blogDrawNode(root,0);
html += output.html;
}
@ -81,7 +81,7 @@ function blogDrawTreeMenu(oXml, callback_func, resopnse_tags, null_func, param)
if(blog_menu_selected) title_class = "unselected";
var title_html = '<div class="title_box"><span class="'+title_class+'" id="blog_title" onclick="location.href=\''+index_url+'\';return false;" >'+title+'</span> <span class="document_count">';
if(total_document_count) title_html += '('+total_document_count+')';
html = title_html+'</span></div>'+html;
html = title_html+'</span></div><div class="category_list">'+html+'</div>';
// 출력하려는 zone이 없다면 load후에 출력하도록 함
if(!zone) {
@ -101,7 +101,7 @@ function blogDrawTeeMenu(html) {
}
// root부터 시작해서 recursive하게 노드를 표혐
function blogDrawNode(parent_node) {
function blogDrawNode(parent_node, depth) {
var output = {html:"", expand:"N"}
for (var i=0; i< parent_node.childNodes.length; i++) {
@ -157,20 +157,24 @@ function blogDrawNode(parent_node) {
blog_tree_menu_folder_list[blog_tree_menu_folder_list.length] = child_zone_id;
// html을 받아옴
child_output = blogDrawNode(node);
child_output = blogDrawNode(node, depth+1);
var chtml = child_output.html;
var cexpand = child_output.expand;
if(cexpand == "Y") expand = "Y";
// 무조건 펼침이 아닐 경우
if(expand!="Y") {
if(!hasNextSibling) child_html += '<div id="'+child_zone_id+'" class="line_close">'+chtml+'</div>';
else child_html += '<div id="'+child_zone_id+'" class="item_close">'+chtml+'</div>';
var line_class = "line_close";
if(hasNextSibling) line_class = "item_close";
if(depth==0) line_class = "line_null";
child_html += '<div id="'+child_zone_id+'" class="'+line_class+'">'+chtml+'</div>';
// 무조건 펼침일 경우
} else {
if(!hasNextSibling) child_html += '<div id="'+child_zone_id+'" class="line_open"">'+chtml+'</div>';
else child_html += '<div id="'+child_zone_id+'" class="item_open">'+chtml+'</div>';
var line_class = "line_open";
if(hasNextSibling) line_class = "item_open";
if(depth==0) line_class = "line_null";
child_html += '<div id="'+child_zone_id+'" class="'+line_class+'">'+chtml+'</div>';
}
}
@ -208,6 +212,8 @@ function blogDrawNode(parent_node) {
}
}
if(depth==0) line_class = 'line_null';
// html 작성
var click_str = ' class="'+folder_class+'"' ;
@ -223,7 +229,7 @@ function blogDrawNode(parent_node) {
// 왼쪽 폴더/페이지와 텍스트 위치를 맞추기 위해;;; table태그 일단 사용. 차후 바꾸자..
html += '<div id="'+zone_id+'" class="node_item">'+
'<div id="'+zone_id+'_line" class="'+line_class+'">'+
'<table border="0" cellspacing="0" cellpadding="0"><tr><td height="20"><img src="'+request_uri+'/common/tpl/images/blank.gif" width="18" height="18" alt="" id="'+zone_id+'_folder" '+click_str+' /></td>'+
'<table border="0" cellspacing="0" cellpadding="0"><tr><td height="19"><img src="'+request_uri+'/common/tpl/images/blank.gif" width="18" height="18" alt="" id="'+zone_id+'_folder" '+click_str+' /></td>'+
'<td><a href="#" id="'+zone_id+'_node" class="'+text_class+'" onclick="blogSelectNode(\''+url+'\');return false;">'+text+'</a>'+document_count_text+'</td></tr></table>'+
'</div>';

View file

@ -3,121 +3,106 @@
<!--%import("css/blog_tree_menu.css")-->
<!--%import("js/blog_tree_menu.js")-->
<!-- 블로그 카테고리의 글 갯수를 javascript변수로 설정 -->
<script type="text/javascript">
// 블로그 카테고리의 글 갯수를 javascript변수로 설정
<!--@foreach($category_list as $key => $val)-->setDocumentCount({$key}, {(int)$val->document_count});<!--@end-->
</script>
<!-- 블로그 카테고리를 js/blog_tree_menu.js를 이용해서 표시 -->
<script type="text/javascript">
blogLoadTreeMenu("{getUrl()}/files/cache/blog_category/{$layout_info->layout_srl}.xml.php", "{$layout_info->category_name?$layout_info->category_name:'category'}", "{getUrl('','mid',$mid)}");
// 블로그 카테고리를 js/blog_tree_menu.js를 이용해서 표시
blogLoadTreeMenu("{$layout_info->category_xml_file}", "{$layout_info->category_name?$layout_info->category_name:'category'}", "{getUrl('','mid',$mid)}");
</script>
<!-- 블로그 기본 기능 메뉴 출력 -->
<div class="blog_default_menu">
<!-- 로그인 -->
<!--@if(!$is_logged)-->
<a href="{getUrl('act','dispMemberSignUpForm')}">{$lang->cmd_signup}</a>
<a href="#" onclick="location.href='{getUrl('act','dispMemberLoginForm')}';return false;">{$lang->cmd_login}</a>
<!--@else-->
<a href="{getUrl('act','dispMemberInfo')}">{$lang->cmd_view_member_info}</a>
<a href="#" onclick="location.href='{getUrl('act','dispMemberLogout')}';return false;">{$lang->cmd_logout}</a>
<!--@end-->
<div id="bodyWrap">
<!-- 관리 기능 -->
<!--@if($grant->is_admin)-->
<!-- 관리자일 경우 블로그 관리 메뉴 -->
<a href="#" onclick="location.href='{getUrl('mid', $layout_info->mid, 'act','dispBlogAdminBlogInfo','layout_srl',$layout_info->layout_srl)}';return false;">{$lang->cmd_management}</a>
<!--@end-->
<!-- 회원 관련 기능 -->
<ul id="accountNavigation">
<!-- 로그인 되었을 때 -->
<!--@if(!$is_logged)-->
<li><a href="{getUrl('act','dispMemberSignUpForm')}">{$lang->cmd_signup}</a></li>
<li class="loginAndLogout"><a href="#" onclick="location.href='{getUrl('act','dispMemberLoginForm')}';return false;">{$lang->cmd_login}</a> </li>
<!-- RSS -->
<!--@if($rss_url)-->
<!-- rss 버튼 -->
<a href="{$rss_url}">rss</a>
<!--@end-->
</div>
<!-- 상단 로고 및 상단 메뉴 출력 -->
<div class="layout_top">
<div class="layout_logo">
<!--@if($layout_info->logo_image)-->
<a href="{getUrl('','mid',$layout_info->mid)}"><img src="{$layout_info->logo_image}" border="0" alt="{$layout_info->browser_title}"/></a>
<!-- 비로그인 상태 -->
<!--@else-->
<li><a href="{getUrl('act','dispMemberInfo')}">{$lang->cmd_view_member_info}</a></li>
<li class="loginAndLogout"><a href="#" onclick="location.href='{getUrl('act','dispMemberLogout')}';return false;">{$lang->cmd_logout}</a></li>
<!--@end-->
<!--@if($layout_info->top_title)-->
<a href="{getUrl('','mid',$layout_info->mid)}">{$layout_info->top_title}</a>
<!--@end-->
</div>
<div class="layout_first_menu">
<!-- RSS -->
<!--@if($rss_url)-->
<!-- rss 버튼 -->
<li class="rss"><a href="{$rss_url}"><img src="./images/{$module_info->colorset}/iconRss.gif" alt="RSS" width="12" height="12" /></a></li>
<!--@end-->
</ul>
<!-- 상단 타이틀 및 메뉴 -->
<div id="header">
<h1>
<!--@if($layout_info->logo_image)-->
<a href="{getUrl('','mid',$layout_info->mid)}"><img src="{$layout_info->logo_image}" border="0" alt="{$layout_info->browser_title}"/></a>
<!--@end-->
<!--@if($layout_info->top_title)-->
<a href="{getUrl('','mid',$layout_info->mid)}">{$layout_info->top_title}</a>
<!--@end-->
</h1>
<!--@if($layout_info->sub_title)-->
<p id="tagLine">{$layout_info->sub_title}</p>
<!--@end-->
<!-- top_menu 시작 -->
<!--@foreach($top_menu->list as $key => $val)--><!--@if($val['text'])-->
<!--@if($val['selected'])-->
{@ $class_name = 'first_menu_selected'}
<!--@else-->
{@ $class_name = 'first_menu'}
<!--@end-->
<span class="{$class_name}">
<a href="#" onclick="return move_url('{$val['href']}','{$val['open_window']}');">{$val['text']}</a>
</span>
<!--@end--><!--@end-->
<!-- top_menu 끝 -->
<ul id="globalNavigation">
<!--@foreach($top_menu->list as $key => $val)--><!--@if($val['text'])-->
<li <!--@if($val['selected'])--> class="on" <!--@end--> ><a href="#" onclick="return move_url('{$val['href']}','{$val['open_window']}');">{$val['text']}</a></li>
<!--@end--><!--@end-->
</ul>
</div>
</div>
<!-- 왼쪽 분류 출력 -->
<div class="layout_left">
<!--@if($layout_info->profile || $layout_info->profile_image)-->
<!-- 프로필 -->
<div class="layout_profile">
<!--@if($layout_info->profile_image)-->
<div class="profile_image">
<img src="{$layout_info->profile_image}" border="0" alt="profile image" />
</div>
<!--@end-->
<!-- 프로필 영역 및 카테고리등의 요소 -->
<div id="contentBody">
<div id="columnLeft">
<!--@if($layout_info->profile)-->
<div class="profile">
{$layout_info->profile}
</div>
<!--@end-->
<!-- 프로필 -->
<div id="profile" class="boxTypeA">
<!--@if($layout_info->profile_image)-->
<img src="{$layout_info->profile_image}" border="0" alt="my profile image" width="160" class="profile"/>
<!--@end-->
<!--@if($grant->is_admin)-->
<!-- 프로필 글 -->
<!--@if($layout_info->profile)-->
<dl id="hello">
<dd>{$layout_info->profile}</dd>
</dl>
<!--@end-->
<!--@if($grant->is_admin)-->
<ul id="admin">
<li class="write"><a href="{getUrl('mid', $layout_info->mid, 'act','dispBlogWrite','document_srl','')}">{$lang->cmd_write}</a></li>
<li class="setup"><a href="#" onclick="location.href='{getUrl('mid', $layout_info->mid, 'act','dispBlogAdminBlogInfo','layout_srl',$layout_info->layout_srl)}';return false;">{$lang->cmd_management}</a></li>
</ul>
<!--@end-->
</div>
<!-- 카테고리 출력 -->
<div id="blog_category"></div>
<!-- 검색폼 -->
<div id="searchBox">
<form action="{getUrl()}" method="post">
<input type="hidden" name="mid" value="{$layout_info->mid}" />
<fieldset>
<legend>검색</legend>
<input name="search_keyword" type="text" class="inputTypeText fl" value="<!--@if(!$search_target)-->{htmlspecialchars($search_keyword)}<!--@end-->" style="width:125px" />
<span class="fr"><span class="buttonTypeB"><img src="./images/blank.gif" alt="" class="leftCap" /><input type="submit" value="{$lang->cmd_search}"/><img src="./images/blank.gif" alt="" class="rightCap" /></span></span>
</fieldset>
</form>
</div>
<div class="layout_admin">
<!-- 글쓰기 버튼 -->
<a href="{getUrl('mid', $layout_info->mid, 'act','dispBlogWrite','document_srl','')}">{$lang->cmd_write}</a>
</div>
<!--@end-->
</div>
<!--@end-->
<!-- 블로그 메뉴 출력 -->
<div id="blog_category"></div>
<!-- 컨텐츠 출력 부분 -->
<div id="content">{$content}</div>
<!-- 검색 -->
<div class="layout_search">
<form action="{getUrl()}" method="get">
<input type="hidden" name="mid" value="{$layout_info->mid}" />
<input type="text" class="search_keyword" name="search_keyword" value="<!--@if(!$search_target)-->{htmlspecialchars($search_keyword)}<!--@end-->" />
<input type="submit" class="search_button" value="{$lang->cmd_search}" />
</form>
</div>
</div>
<!-- 컨텐츠 출력 부분 -->
<div class="layout_content">
<div id="content">{$content}</div>
</div>

View file

@ -19,13 +19,17 @@
<title xml:lang="ko">상단 제목</title>
<description xml:lang="ko">레이아웃의 상단에 표시할 제목을 입력하세요.</description>
</var>
<var name="sub_title" type="text">
<title xml:lang="ko">부제</title>
<description xml:lang="ko">레이아웃의 상단에 큰 제목 아래 부제목을 입력하세요.</description>
</var>
<var name="logo_image" type="image" width="60" height="60">
<title xml:lang="ko">로고이미지</title>
<description xml:lang="ko">레이아웃의 상단에 표시될 로고이미지를 입력하세요.</description>
</var>
<var name="profile_image" type="image" width="60" height="60">
<title xml:lang="ko">프로필 이미지</title>
<description xml:lang="ko">프로필 이미지를 입력해 주세요 (가로 사이즈는 200px이 가장 보기 좋습니다)</description>
<description xml:lang="ko">프로필 이미지를 입력해 주세요 (가로 사이즈는 160px이 가장 보기 좋습니다)</description>
</var>
<var name="profile" type="textarea">
<title xml:lang="ko">프로필</title>

View file

@ -30,7 +30,7 @@
<!--@end-->
<!-- 로그인 정보 -->
<ul class="accountNavigation">
<ul id="accountNavigation">
<!--@if($rss_url)-->
<li class="rss"><a href="{$rss_url}"><img src="./images/{$module_info->colorset}/iconRss.gif" alt="RSS" width="12" height="12" /></a></li>