#a9b7c6 62개의 스레드 ✕ 해제
이온디
이온디 4년 전
XE 글쓰기 화면에서 에디터의 소스를 복붙(Copy&Paste) 했을 때, 에디터에서와 마찬가지로 컬러 스키마가 적용되도록 하는 방법입니다. 아래 링크는 로마네스크의 라르게덴님께 질문한 글입니다. https://romanesque.me/forum/7319 highlight.js의 Tomorrow Night Bright 스킨을 적용하고 있습니다. 에디터에서 한다라기보단 스킨이나 레이아웃에서 적용하고 있고요. 사용 방법은 에디터는 달락 버튼에서 '코드'로 적용하고 글을 저장을 하게 되면 게시판 … XE 글쓰기 화면에서 에디터의 소스를 복붙(Copy&Paste) 했을 때, 에디터에서와 마찬가지로 컬러 스키마가 적용되도록 하는 방법입니다. 아래 링크는 로마네스크의 라르게덴님께 질문한 글입니다. https://romanesque.me/forum/7319 highlight.js의 Tomorrow Night Bright 스킨을 적용하고 있습니다. 에디터에서 한다라기보단 스킨이나 레이아웃에서 적용하고 있고요. 사용 방법은 에디터는 달락 버튼에서 '코드'로 적용하고 글을 저장을 하게 되면 게시판 본문에 highlight.js가 나타나게 되는 방식 입니다. 제가 적용한 방법입니다. <load target="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/tomorrow-night-bright.min.css" index="1" /> <load target="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js" type="body" /> $(function(){ $(".xe_content pre").each(function(i, block) { hljs.highlightBlock(block); }); }); 에디터의 기능인 줄 알았는데, 게시판 스킨이나 레이아웃에서 적용해야하는 기능인 것 같네요. 에디터에서 설정하는 것이 아니라, 레이아웃 스킨에 적용해보았습니다. (매번 레이아웃을 새로 만드니 매번 설정을 해놔도 까먹네요) path : /httpdocs/layouts/el_sinchuk/layout.html <link rel="stylesheet" href="https://highlightjs.org/static/demo/styles/androidstudio.css"> <script src="https://unpkg.com/@highlightjs/cdn-assets@11.3.1/highlight.min.js"></script> <!-- and it's easy to individually load additional languages --> <script src="https://unpkg.com/@highlightjs/cdn-assets@11.3.1/languages/go.min.js"></script> <script> $(function(){ $(".xe_content pre").each(function(i, block) { hljs.highlightBlock(block); }); // $(".fr-view pre").each(function(i, block) { // hljs.highlightBlock(block); // }); }); </script> <style> .fr-view pre, .xe_content pre{ padding: 1.6rem; border-radius: .8rem; font-size: 11px; font-family: "verdana"; line-height: 1.4; background: #282b2e; color: #a9b7c6; } .editor .fr-box{ flex:auto; } </style> highlight.js 공식사이트 https://highlightjs.org/ default.css 뿐만 아니라 다양한 스타일을 직접 골라 가져올 수 있습니다. 참조글 프로알라 에디터 붙여넣기 스타일 적용하는 방법 https://eond.com/xe/394232 #프로알라에디터 #FroalaEditor
이온디
이온디 8년 전
/etc/nginx/sites/eond.confserver { listen 80; server_name is.eond.com; rewrite ^/(.*) https://eond.com/is$1 permanent; } is.eond.com 이라는 도메인을 입력하면 자동으로 eond.com/is 로 이동합니다. /etc/nginx/sites/eond.confserver { listen 80; server_name is.eond.com; rewrite ^/(.*) https://eond.com/is$1 permanent; } is.eond.com 이라는 도메인을 입력하면 자동으로 eond.com/is 로 이동합니다.
이온디
이온디 8년 전
$ip_address; $admin_ip = '관리자아이피'; $ip_address = $_SERVER["REMOTE_ADDR"]; if($ip_address!=$admin_ip){ header('Location: //localhost'); }경로 : /www/common.php 위 코드를 위 경로에 맨 위에 붙여넣어줍니다. 2. 여러명의 관리자일 경우 배열로 체크하는 방법 $ip_address; $admin_ip = array("1.1.1.1","2.2.2.2"); $ip_addres… $ip_address; $admin_ip = '관리자아이피'; $ip_address = $_SERVER["REMOTE_ADDR"]; if($ip_address!=$admin_ip){ header('Location: //localhost'); }경로 : /www/common.php 위 코드를 위 경로에 맨 위에 붙여넣어줍니다. 2. 여러명의 관리자일 경우 배열로 체크하는 방법 $ip_address; $admin_ip = array("1.1.1.1","2.2.2.2"); $ip_address = $_SERVER["REMOTE_ADDR"]; if( !in_array($ip_address,$admin_ip) ){ header('Location: https://www.eond.com'); }1) admin_ip를 array 함수를 사용하여 배열로 만듦 2) in_array 함수를 이용하여 접속한 아이피가 admin_ip에 포함하는지 체크 3) in_array 함수 앞에 ! 를 붙여 포함하지 않을 경우를 체크함
이온디
이온디 8년 전
1. 관리자 회원가입 설정에서 시/도, 구/군 입력칸을 설정합니다. 1) 시도 입력칸 만들기 아이디값 province 입력항목 제목 : 시/도 형식 : 단일선택(single select) 선택옵션 : 강원도 경기도 경상남도 경상북도 광주광역시 대구광역시 대전광역시 부산광역시 서울특별시 세종특별자치시 울산광역시 인천광역시 전라남도 전라북도 제주특별자치도 충청남도 충청북도 2) 구군 입력칸 만들기 입력항목 아이디 : city 입력항목 제목 : 구/군 형식 : 단일선택(single select)… 1. 관리자 회원가입 설정에서 시/도, 구/군 입력칸을 설정합니다. 1) 시도 입력칸 만들기 아이디값 province 입력항목 제목 : 시/도 형식 : 단일선택(single select) 선택옵션 : 강원도 경기도 경상남도 경상북도 광주광역시 대구광역시 대전광역시 부산광역시 서울특별시 세종특별자치시 울산광역시 인천광역시 전라남도 전라북도 제주특별자치도 충청남도 충청북도 2) 구군 입력칸 만들기 입력항목 아이디 : city 입력항목 제목 : 구/군 형식 : 단일선택(single select) 선택옵션 : (모든 구군 값을 입력합니다.) 강릉시 고성군 동해시 삼척시 속초시 양구군 양양군 영월군 원주시 인제군 정선군 철원군 춘천시 태백시 평창군 홍천군 화천군 횡성군 가평군 고양시 과천시 광명시 광주시 구리시 군포시 김포시 남양주시 동두천시 부천시 성남시 수원시 시흥시 안산시 안성시 안양시 양주시 양평군 여주시 연천군 오산시 용인시 의왕시 의정부시 이천시 파주시 평택시 포천시 하남시 화성시 거제시 거창군 고성군 김해시 남해군 밀양시 사천시 산청군 양산시 의령군 진주시 창녕군 창원시 통영시 하동군 함안군 함양군 합천군 경산시 경주시 고령군 구미시 군위군 김천시 문경시 봉화군 상주시 성주군 안동시 영덕군 영양군 영주시 영천시 예천군 울릉군 울진군 의성군 청도군 청송군 칠곡군 포항시 광산구 남구 동구 북구 서구 남구 달서구 달성군 동구 북구 서구 수성구 중구 대덕구 동구 서구 유성구 중구 강서구 금정구 기장군 남구 동구 동래구 부산진구 북구 사상구 사하구 서구 수영구 연제구 영도구 중구 해운대구 강남구 강동구 강북구 강서구 관악구 광진구 구로구 금천구 노원구 도봉구 동대문구 동작구 마포구 서대문구 서초구 성동구 성북구 송파구 양천구 영등포구 용산구 은평구 종로구 중구 중랑구 세종시 남구 동구 북구 울주군 중구 강화군 계양구 남구 남동구 동구 부평구 서구 연수구 옹진군 중구 강진군 고흥군 곡성군 광양시 구례군 나주시 담양군 목포시 무안군 보성군 순천시 신안군 여수시 영광군 영암군 완도군 장성군 장흥군 진도군 함평군 해남군 화순군 고창군 군산시 김제시 남원시 무주군 부안군 순창군 완주군 익산시 임실군 장수군 전주시 정읍시 진안군 서귀포시 제주시 계룡시 공주시 금산군 논산시 당진시 보령시 부여군 서산시 서천군 아산시 예산군 천안시 청양군 태안군 홍성군 괴산군 단양군 보은군 영동군 옥천군 음성군 제천시 증평군 진천군 청원군 청주시 충주시2. member.js 수정 // 시군구 선택 jQuery(function($){ // label for setup $('.control-label[for]').each(function(){ var $this = $(this); if($this.attr('for') == ''){ $this.attr('for', $this.next().children(':visible:first').attr('id')); } }); }); (function($){ $(function(){ var option = { changeMonth: true, changeYear: true, gotoCurrent: false,yearRange:'-100:+10', dateFormat:'yy-mm-dd', onSelect:function(){ $(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))} }; $.extend(option,$.datepicker.regional['ko']); $(".inputDate").datepicker(option); $(".dateRemover").click(function() { $(this).prevAll('input').val(''); return false;}); }); $('#province').live('change', function() { fnSetAddr(this.value); }); })(jQuery); function fnSetAddr(strProvince){ var frm = document.forms['fo_insert_member']; var lngCityQty = document.getElementById("city").length; if (strProvince == "") { arrCity_Text = new Array("선택"); arrCity_Val = []; } else if (strProvince=="강원도") { arrCity_Text = new Array("선택","강릉시","고성군","동해시","삼척시","속초시","양구군","양양군","영월군","원주시","인제군","정선군","철원군","춘천시","태백시","평창군","홍천군","화천군","횡성군"); arrCity_Val = new Array("","강릉시","고성군","동해시","삼척시","속초시","양구군","양양군","영월군","원주시","인제군","정선군","철원군","춘천시","태백시","평창군","홍천군","화천군","횡성군"); } else if (strProvince=="경기도") { arrCity_Text = new Array("선택","가평군","고양시","과천시","광명시","광주시","구리시","군포시","김포시","남양주시","동두천시","부천시","성남시","수원시","시흥시","안산시","안성시","안양시","양주시","양평군","여주시","연천군","오산시","용인시","의왕시","의정부시","이천시","파주시","평택시","포천시","하남시","화성시"); arrCity_Val = new Array("","가평군","고양시","과천시","광명시","광주시","구리시","군포시","김포시","남양주시","동두천시","부천시","성남시","수원시","시흥시","안산시","안성시","안양시","양주시","양평군","여주시","연천군","오산시","용인시","의왕시","의정부시","이천시","파주시","평택시","포천시","하남시","화성시"); } else if (strProvince=="경상남도") { arrCity_Text = new Array("선택","거제시","거창군","고성군","김해시","남해군","밀양시","사천시","산청군","양산시","의령군","진주시","창녕군","창원시","통영시","하동군","함안군","함양군","합천군"); arrCity_Val = new Array("","거제시","거창군","고성군","김해시","남해군","밀양시","사천시","산청군","양산시","의령군","진주시","창녕군","창원시","통영시","하동군","함안군","함양군","합천군"); } else if (strProvince=="경상북도") { arrCity_Text = new Array("선택","경산시","경주시","고령군","구미시","군위군","김천시","문경시","봉화군","상주시","성주군","안동시","영덕군","영양군","영주시","영천시","예천군","울릉군","울진군","의성군","청도군","청송군","칠곡군","포항시"); arrCity_Val = new Array("","경산시","경주시","고령군","구미시","군위군","김천시","문경시","봉화군","상주시","성주군","안동시","영덕군","영양군","영주시","영천시","예천군","울릉군","울진군","의성군","청도군","청송군","칠곡군","포항시"); } else if (strProvince=="광주광역시") { arrCity_Text = new Array("선택","광산구","남구","동구","북구","서구"); arrCity_Val = new Array("","광산구","남구","동구","북구","서구"); } else if (strProvince=="대구광역시") { arrCity_Text = new Array("선택","남구","달서구","달성군","동구","북구","서구","수성구","중구"); arrCity_Val = new Array("","남구","달서구","달성군","동구","북구","서구","수성구","중구"); } else if (strProvince=="대전광역시") { arrCity_Text = new Array("선택","대덕구","동구","서구","유성구","중구"); arrCity_Val = new Array("","대덕구","동구","서구","유성구","중구"); } else if (strProvince=="부산광역시") { arrCity_Text = new Array("선택","강서구","금정구","기장군","남구","동구","동래구","부산진구","북구","사상구","사하구","서구","수영구","연제구","영도구","중구","해운대구"); arrCity_Val = new Array("","강서구","금정구","기장군","남구","동구","동래구","부산진구","북구","사상구","사하구","서구","수영구","연제구","영도구","중구","해운대구"); } else if (strProvince=="서울특별시") { arrCity_Text = new Array("선택","강남구","강동구","강북구","강서구","관악구","광진구","구로구","금천구","노원구","도봉구","동대문구","동작구","마포구","서대문구","서초구","성동구","성북구","송파구","양천구","영등포구","용산구","은평구","종로구","중구","중랑구"); arrCity_Val = new Array("","강남구","강동구","강북구","강서구","관악구","광진구","구로구","금천구","노원구","도봉구","동대문구","동작구","마포구","서대문구","서초구","성동구","성북구","송파구","양천구","영등포구","용산구","은평구","종로구","중구","중랑구"); } else if (strProvince=="세종특별자치시") { arrCity_Text = new Array("선택","세종시"); arrCity_Val = new Array("","세종시"); } else if (strProvince=="울산광역시") { arrCity_Text = new Array("선택","남구","동구","북구","울주군","중구"); arrCity_Val = new Array("","남구","동구","북구","울주군","중구"); } else if (strProvince=="인천광역시") { arrCity_Text = new Array("선택","강화군","계양구","남구","남동구","동구","부평구","서구","연수구","옹진군","중구"); arrCity_Val = new Array("","강화군","계양구","남구","남동구","동구","부평구","서구","연수구","옹진군","중구"); } else if (strProvince=="전라남도") { arrCity_Text = new Array("선택","강진군","고흥군","곡성군","광양시","구례군","나주시","담양군","목포시","무안군","보성군","순천시","신안군","여수시","영광군","영암군","완도군","장성군","장흥군","진도군","함평군","해남군","화순군"); arrCity_Val = new Array("","강진군","고흥군","곡성군","광양시","구례군","나주시","담양군","목포시","무안군","보성군","순천시","신안군","여수시","영광군","영암군","완도군","장성군","장흥군","진도군","함평군","해남군","화순군"); } else if (strProvince=="전라북도") { arrCity_Text = new Array("선택","고창군","군산시","김제시","남원시","무주군","부안군","순창군","완주군","익산시","임실군","장수군","전주시","정읍시","진안군"); arrCity_Val = new Array("","고창군","군산시","김제시","남원시","무주군","부안군","순창군","완주군","익산시","임실군","장수군","전주시","정읍시","진안군"); } else if (strProvince=="제주특별자치도") { arrCity_Text = new Array("선택","서귀포시","제주시"); arrCity_Val = new Array("","서귀포시","제주시"); } else if (strProvince=="충청남도") { arrCity_Text = new Array("선택","계룡시","공주시","금산군","논산시","당진시","보령시","부여군","서산시","서천군","아산시","예산군","천안시","청양군","태안군","홍성군"); arrCity_Val = new Array("","계룡시","공주시","금산군","논산시","당진시","보령시","부여군","서산시","서천군","아산시","예산군","천안시","청양군","태안군","홍성군"); } else if (strProvince=="충청북도") { arrCity_Text = new Array("선택","괴산군","단양군","보은군","영동군","옥천군","음성군","제천시","증평군","진천군","청원군","청주시","충주시"); arrCity_Val = new Array("","괴산군","단양군","보은군","영동군","옥천군","음성군","제천시","증평군","진천군","청원군","청주시","충주시"); } else { arrCity_Text = new Array("#!ERROR"); arrCity_Val = new Array(""); } for(var i=0; i<lngCityQty; i++) { frm.city.options[0] = null; } for(var j=0; j<arrCity_Text.length; j++) { frm.city.options[j] = new Option(arrCity_Text[j], arrCity_Val[j]); } }
이온디
이온디 8년 전
Nginx 설정 인덱스 페이지 + PHP 작업 if($_SERVER['HTTPS']!=='on'){ header('Location: https://'.$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI']); }https가 아닐 경우 https로 리다이렉트하는 방법 Nginx 설정 인덱스 페이지 + PHP 작업 if($_SERVER['HTTPS']!=='on'){ header('Location: https://'.$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI']); }https가 아닐 경우 https로 리다이렉트하는 방법
이온디
이온디 8년 전
구글웹폰트에서 나눔고딕을 적용할 경우, 익스플로러에서 제대로 나눔고딕이 적용되지 않아 깃헙에 새로 폰트를 업로드하였습니다. 출처 : https://github.com/demun/NanumGothic "> https://github.com/eondcom/webfont/tree/master/NanumGothic "> 사용방법 @import url(//cdn.rawgit.com/eondcom/webfont/master/NanumGothic/NanumGothic.css);html,body… 구글웹폰트에서 나눔고딕을 적용할 경우, 익스플로러에서 제대로 나눔고딕이 적용되지 않아 깃헙에 새로 폰트를 업로드하였습니다. 출처 : https://github.com/demun/NanumGothic "> https://github.com/eondcom/webfont/tree/master/NanumGothic "> 사용방법 @import url(//cdn.rawgit.com/eondcom/webfont/master/NanumGothic/NanumGothic.css);html,body {font-family: 'Nanum Gothic', sans-serif;}
이온디
이온디 8년 전
<h1 loop="$GNB->list => $key1, $val1" cond="$val1['selected']" class="maintitle">{$val1['link']}</h1> <div class="subcontents"> <h2 class="subtitle">{$module_info->browser_title}</h2> {$content} </div> <h1 loop="$GNB->list => $key1, $val1" cond="$val1['selected']" class="maintitle">{$val1['link']}</h1> <div class="subcontents"> <h2 class="subtitle">{$module_info->browser_title}</h2> {$content} </div>
이온디
이온디 8년 전
카테고리 정보 불러오기 <pre> {print_r($category_list)} </pre>[399342] => stdClass Object ( [mid] => eondFlea [module_srl] => 399192 [category_srl] => 399342 [parent_srl] => 399218 [text] => 프로그래밍 [title] => 프로그래밍 [description] => [expand] => [color] => [document_count] => 1 [depth] => 2 [c… 카테고리 정보 불러오기 <pre> {print_r($category_list)} </pre>[399342] => stdClass Object ( [mid] => eondFlea [module_srl] => 399192 [category_srl] => 399342 [parent_srl] => 399218 [text] => 프로그래밍 [title] => 프로그래밍 [description] => [expand] => [color] => [document_count] => 1 [depth] => 2 [child_count] => 0 [childs] => Array ( ) [grant] => 1 [selected] => [first] => 1 [last] => 1 ) <!--@if(!$category)--> <li class="cat_parent">전체</li> <li loop="$cate_list=>$key,$val" class="cat_sub1"> <a href="{getUrl(category,$val->category_srl,'document_srl','', 'page', '', 'act', '')}"> <i class=" xe-angle-right" cond="$category_list[$category]->parent_srl"></i> {$val->title} <span class="fr cat_cnt">{$val->document_count}</span> </a> </li> <!--@elseif($category_list[$category]->parent_srl=='0')--> <li class="cat_parent"> <a href="{getUrl(category,$category,'document_srl','', 'page', '', 'act', '')}">{$category_list[$category]->text}</a> </li> <block loop="$cate_list=>$key,$val"> <li loop="$val->children=>$idx,$item" class="cat_sub1asdfasdf" cond="$category==$item->parent_srl"> <a href="{getUrl(category,$item->category_srl,'document_srl','', 'page', '', 'act', '')}"><i class=" xe-angle-right" cond="$category_list[$category]->parent_srl"></i> {$item->title} <span class="fr cat_cnt">{$item->document_count}</span> </a> </li> </block> <!--@else--> <li class="cat_parent"> <a href="{getUrl(category,$category_list[$category]->parent_srl,'document_srl','', 'page', '', 'act', '')}">{$category_list[$category_list[$category]->parent_srl]->title}</a> </li> <li class="cat_sub2"> <a href="{getUrl(category,$item->category_srl,'document_srl','', 'page', '', 'act', '')}"><i class=" xe-angle-right" cond="$category_list[$category]->parent_srl"></i> {$category_list[$category]->title} <span class="fr cat_cnt">{$category_list[$category]->document_count}</span> </a> </li> <!--@end-->
이온디
이온디 8년 전
config.toolbarStartupExpanded = false; ckeditor를 사용하는 XE 글쓰기 화면에서 초기 설정으로 ckeditor의 툴바를 접는 방법입니다. ckeditor의 툴바를 접기 전 ckedior의 툴바를 접은 후 파일 수정 경로 : /common/js/plugins/ckeditor/ckeditor/config.js CKEDITOR.editorConfig = function( config ) { // Define changes to default co… config.toolbarStartupExpanded = false; ckeditor를 사용하는 XE 글쓰기 화면에서 초기 설정으로 ckeditor의 툴바를 접는 방법입니다. ckeditor의 툴바를 접기 전 ckedior의 툴바를 접은 후 파일 수정 경로 : /common/js/plugins/ckeditor/ckeditor/config.js CKEDITOR.editorConfig = function( config ) { // Define changes to default configuration here. For example: config.toolbarStartupExpanded = false; // 툴바 접기 }; 참조. http://gipyeonglee.tistory.com/126 https://godpeople.or.kr/board/3362305 https://www.yangel.org/DODOxe/memory/1559 "> /** * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md or http://ckeditor.com/license */ CKEDITOR.editorConfig = function( config ) { // Define changes to default configuration here. For example: // config.language = 'fr'; // config.uiColor = '#AADC6E'; // config.extraPlugins ="uploadimage"; config.extraPlugins ="uploadimage,amembed,amemoji"; config.toolbarStartupExpanded = false; // 툴바 접기 }; function checkMobileDevice() { var mobileKeyWords = new Array('Android', 'iPhone', 'iPod', 'BlackBerry', 'Windows CE', 'SAMSUNG', 'LG', 'MOT', 'SonyEricsson'); for (var info in mobileKeyWords) { if (navigator.userAgent.match(mobileKeyWords<span class="ais-hidden">info</span>) != null) { return true; } } return false; } if(checkMobileDevice()==true) { CKEDITOR.editorConfig = function( config ) { config.toolbarStartupExpanded = false; // 툴바 접기 config.height = 230; // 높이 설정 config.removePlugins = 'liststyle,tabletools,contextmenu'; // context menu disable }; CKEDITOR.replace( 'iframe', { removePlugins: 'contextmenu,tabletools' // context menu disable } ); }
이온디
이온디 8년 전
본 글은 마켓플레이스 모듈에서 상위 카테고리의 선택 여부를 구분하고자 할 때 사용하는 팁입니다. 조금 더 설명하자면 2차 메뉴가 여성의류이고, 3차 메뉴가 상의, 하의 등일 경우 3차를 선택했을 경우 2차 메뉴가 seleted 된 상태인지 여부를 구분하고자 할 때 사용 할 수 있습니다. 제가 삽질한 코드는 다음과 같습니다. -_-; 새벽 내내 수백번 고쳐적은 듯;; <pre> {print_r($cate_list)} </pre> <pre> category : {$category} <br> v… 본 글은 마켓플레이스 모듈에서 상위 카테고리의 선택 여부를 구분하고자 할 때 사용하는 팁입니다. 조금 더 설명하자면 2차 메뉴가 여성의류이고, 3차 메뉴가 상의, 하의 등일 경우 3차를 선택했을 경우 2차 메뉴가 seleted 된 상태인지 여부를 구분하고자 할 때 사용 할 수 있습니다. 제가 삽질한 코드는 다음과 같습니다. -_-; 새벽 내내 수백번 고쳐적은 듯;; <pre> {print_r($cate_list)} </pre> <pre> category : {$category} <br> val->category_srl : {$val->category_srl} <br> category_list[$category]->parent_srl : {$category_list[$category]->parent_srl} <br> category=val->category_srl : {$category==$val->category_srl} <br> [text:{$category_list[$category]->text}] [expand:{$category_list[$category]->expand}<!--@if($category_list[$category='5918']->expand=='1')-->O<!--@else-->X<!--@end-->] [child_count:{$category_list[$category]->child_count}] [childs:{var_dump($category_list[$category]->childs)}] </pre> $cate_list 카테고리 정보를 출력하는 변수입니다. {var_dump($cate_list)} 혹은 {print_r($cate_list)} 라고 적으면 이 변수에 담긴 값들이 출력됩니다. 좀 더 예쁘게 보기 위해서는 <pre>...</pre> 태그로 감싸주세요. [ex] <pre>{print_r($cate_list)}<pre> ※ var_dump와 print_r의 차이점 http://chongmoa.com/php/5130 [위 코드에 대한 결과값 스크린샷] {print_r($cate_list)} 라고 입력하면 위와 같은 화면이 출력됩니다. 마켓플레이스에서 설정한 카테고리는 다음과 같습니다. 전체를 다 가져와보면 아래와 같습니다. Array ( [5918] => stdClass Object ( [mid] => mp1 [module_srl] => 5305 [category_srl] => 5918 [parent_srl] => 0 [text] => 여성의루 [title] => 여성의루 [description] => [expand] => 1 [color] => [document_count] => 0 [depth] => 0 [child_count] => 2 [childs] => Array ( [0] => 5919 [1] => 5920 ) [grant] => 1 [selected] => [first] => 1 [children] => Array ( [0] => stdClass Object ( [mid] => mp1 [module_srl] => 5305 [category_srl] => 5919 [parent_srl] => 5918 [text] => 2차 [title] => 2차 [description] => [expand] => 1 [color] => [document_count] => 0 [depth] => 1 [child_count] => 1 [childs] => Array ( [0] => 5920 ) [grant] => 1 [selected] => [first] => 1 [last] => 1 ) [1] => stdClass Object ( [mid] => mp1 [module_srl] => 5305 [category_srl] => 5920 [parent_srl] => 5919 [text] => 3차 [title] => 3차 [description] => [expand] => [color] => [document_count] => 0 [depth] => 2 [child_count] => 0 [childs] => Array ( ) [grant] => 1 [selected] => 1 [first] => 1 [last] => 1 ) ) ) [5923] => stdClass Object ( [mid] => mp1 [module_srl] => 5305 [category_srl] => 5923 [parent_srl] => 0 [text] => 남성의류 [title] => 남성의류 [description] => [expand] => [color] => [document_count] => 0 [depth] => 0 [child_count] => 0 [childs] => Array ( ) [grant] => 1 [selected] => [last] => 1 [children] => Array ( ) ) )자, 이제 본격적으로... '2차' 카테고리를 선택한 경우 상위 카테고리인 '여성의류'가 선택된 상태로 표시되어야 한다면 어떻게 해야할까요?! $category_list[$category_srl='5918']->expand=='1' <!--@if($category_list[$category_srl='5918']->expand=='1')-->O<!--@else-->X<!--@end--> 일단 상위 카테고리인 '여성의류'의 category_srl 값이 필요합니다. 위에서 찾아보니 상위카테고리인 여성의류의 category_srl은 5918 입니다. {var_dump($cate_list)}로 출력해보면 해당 category_srl의 expand 가 bool(true) bool(false)로 표시되는데, 확장된 상태(expand)가 '1'일 경우를 참이라고 합니다. ($category_list[$category_srl='5918']->expand=='1') {$category_list[$category]->parent_srl} 5918이란 건 부모 카테고리를 의미하므로, 부모 카테고리값을 출력하는 코드를 넣어줍니다. <!--@if($category_list[$category_srl=$category_list[$category]->parent_srl]->expand=='1')-->O<!--@else-->X<!--@end-->'5918'이라는 숫자 대신 $category_list[$category]->parent_srl 을 넣어줍니다. if 함수 안에 있는 코드이므로 따로 '..' (작은따옴표)나 {..} (XE에서 변수를 출력하는 부분)을 지워주세요. 자, 이제 본격적으로 이걸 잘 쓰기 위해서는... 처음 마켓플레이스에 여성의류를 선택하면 이렇게 남성의류까지 다 같이 나옵니다. 이걸 여성의류만 선택하면 여성의류 포함 하위 카테고리만 나타나고, 다시 하위 카테고리를 선택하면 그 하위 카테고리가 출력되는 작업을 해보겠습니다. 갈 길이 머네요.. 그럼 이제 코드를 작성하러 다녀오겠습니다. 다음 기회에 또 봐요. P.S. PHP에 대한 지식이 얕아 잘못된 정보가 있을 수 있습니다. 잘못된 정보는 댓글 또는 메일(eond@eond.com)로 본 URL과 잘못된 내용을 알려주시면 감사하겠습니다. 참조글 http://www.xeschool.com/xe/xenote_useful_variable_logged_info http://php.net/manual/kr/language.types.boolean.php XE DEBUG - 디버깅을 위한 기초함수 http://www.xeschool.com/xe/index.php?mid=documents_for_debug&entry=%EB%94%94%EB%B2%84%EA%B9%85%EC%9D%84+%EC%9C%84%ED%95%9C+%EA%B8%B0%EC%B4%88%ED%95%A8%EC%88%98
이온디
이온디 8년 전
April 6, 2017 8.8kviews NGINX CENTOS Hi i was config my nginx block to redirect all www to non-www, this is my config: server { listen 80; server_name mysite.com www.mysite.com; return 301 https://mysite.com$request_uri; } server { listen 443 s… April 6, 2017 8.8kviews NGINX CENTOS Hi i was config my nginx block to redirect all www to non-www, this is my config: server { listen 80; server_name mysite.com www.mysite.com; return 301 https://mysite.com$request_uri; } server { listen 443 ssl http2; server_name mysite.com; root /usr/share/nginx/html; ssl on; ssl_certificate /ssl/ssl-bundle.crt; ssl_certificate_key /ssl/mysite.key; ssl_session_cache shared:SSL:20m; ssl_session_timeout 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:!DSS; ssl_buffer_size 8k; ssl_session_tickets off; ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /ssl/ssl-trusted.crt; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 10s; #add_header X-Content-Type-Options "nosniff"; location / { index index.php index.html index.htm; try_files $uri $uri/ /index.php?$uri&$args; } location /internal_data/ { internal; allow 127.0.0.1; deny all; } location /library/ { internal; allow 127.0.0.1; deny all; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~* \.(?:ico|css|gif|jpe?g|js|png|svg|svgz|swf)(\?.+)?$ { access_log off; log_not_found off; expires 1y; } location ~ \.(jpe?g|png|gif)$ { valid_referers none blocked mysite.com *.mysite.com; if ($invalid_referer) { return 403; } } } working fine just for non-www to https but not work from www to non-www, this is result from curl -I http://www.mysite.com : curl: (6) Couldn't resolve host 'www.mysite.com' is there any iam miss? thank you. 기존에 맨 위에 주석 처리된 부분으로 작업했었으나, https://www.eond.com 에 대한 return이 적용이 되지 않아, 위 팁을 적용하여 주석줄 아래 코드로 변경해주었습니다. # server { # listen 80; # server_name eond.com www.eond.com; # root /home/eond/www; # location / { # return 301 https://eond.com$request_uri; # } # } server { listen 80; server_name eond.com www.eond.com; return 301 https://eond.com$request_uri; } server { listen 443 ssl http2; server_name eond.com; root /home/eond/www; index index.php index.html index.htm; charset utf-8; # if ($http_host = "www.eond.com") { # rewrite ^ https://eond.com$request_uri permanent; # } location / { try_files $uri $uri/ =404; } include snippets/well-known.conf; #include snippets/wp-rewrite.conf; include snippets/xe-rewrite.conf; location ~ \.php$ { fastcgi_pass unix:/run/php/pool.eond.sock; include snippets/fastcgi-php.conf; limit_req zone=antiddos burst=12 nodelay; } location ~* \.(jpe?g|png|gif|bmp|ico|svg|swf|flv|avi|wav|mp[34]|woff|ttf|s?css|less|js)$ { expires 15d; log_not_found off; } ssl_certificate /etc/letsencrypt/live/eond.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/eond.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/eond.com/chain.pem; ssl_dhparam /etc/nginx/ssl/dhparam.pem; ssl_stapling on; ssl_stapling_verify on; } # server { # listen 80; # server_name www.eond.com; # # location / { # return 301 https://eond.com$request_uri; # expires epoch; # } # # include snippets/well-known.conf; # } server { listen 80; listen 443 ssl http2; server_name www.eond.com; return 301 $scheme://eond.com$request_uri; }
이온디
이온디 8년 전
https://forum.laragon.org/topic/434/disable-strict-mode-on-mariadb-database/8 "> [mysqld] # sql_mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES" sql-mode = "NO_ENGINE_SUBSTITUTION"> service mysqld restart https://forum.laragon.org/topic/434/disable-strict-mode-on-mariadb-database/8 "> [mysqld] # sql_mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES" sql-mode = "NO_ENGINE_SUBSTITUTION"> service mysqld restart
이온디
이온디 8년 전
#추가작업 20180306 1. 관리 > 콜리스트 > 배차 버튼 클릭시 기사 선택하는 팝업창 필요 http://appledesign.zerotomind.com/m2_1.html# - script.js /home/demo/www_appletree/js/script.js 참조) class="mt5">href="#" id="btn-changehistory">src="img/btn_change.png" alt="변경이력보기"/> 2. 상점관리 > 상점등록 http://appledesign.ze… #추가작업 20180306 1. 관리 > 콜리스트 > 배차 버튼 클릭시 기사 선택하는 팝업창 필요 http://appledesign.zerotomind.com/m2_1.html# - script.js /home/demo/www_appletree/js/script.js 참조) class="mt5">href="#" id="btn-changehistory">src="img/btn_change.png" alt="변경이력보기"/> 2. 상점관리 > 상점등록 http://appledesign.zerotomind.com/m3_1.html - 거부콜 화면에서 삭제 버튼 필요 - project.php 파일 작업. 3. 사용자권한 (신규화면) - 퀵메뉴에 사용자권한 버튼 추가 - 신규화면 ppt 참조 - m13.html
이온디
이온디 8년 전
​​검색 {$form.keyword} 항상 입력된 키워드를 삭제하는 방법 ​​검색 {$form.keyword} 항상 입력된 키워드를 삭제하는 방법
이온디
이온디 8년 전
특정메뉴만 http로 접속을 해야했기 때문에, 서버상에서 http 접속을 모두 https로 변경해주지는 못했습니다. 인덱스인 경우만 http로 접속시 https로 접속하는 방법입니다. 1. PC버전 경로 : ./index.php if($_SERVER['HTTPS']!=='on'){ header('Location: https://'.$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI']); }2. 모바일버전 경로 : ./mobile/index.php if($_SE… 특정메뉴만 http로 접속을 해야했기 때문에, 서버상에서 http 접속을 모두 https로 변경해주지는 못했습니다. 인덱스인 경우만 http로 접속시 https로 접속하는 방법입니다. 1. PC버전 경로 : ./index.php if($_SERVER['HTTPS']!=='on'){ header('Location: https://'.$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI']); }2. 모바일버전 경로 : ./mobile/index.php if($_SERVER['HTTPS']!=='on'){ header('Location: https://'.$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI']); }
이온디
이온디 8년 전
{$document->getExtraValue(2)} {implode('',$document->getExtraValue(2))} {implode('',$document->getExtraEidValue('state'))}게시물 상태는 확장변수로 등록되어져있습니다. 그래서 이런 방법으로 출력 가능합니다. 참조 : https://www.xpressengine.com/tip/17851266 "> {$document->getExtraValue(2)} {implode('',$document->getExtraValue(2))} {implode('',$document->getExtraEidValue('state'))}게시물 상태는 확장변수로 등록되어져있습니다. 그래서 이런 방법으로 출력 가능합니다. 참조 : https://www.xpressengine.com/tip/17851266 ">
이온디
이온디 8년 전
수고 많으십니다. 콘텐츠판 모듈에서의 별점기능을 위젯에 나타내고 싶은데 어떻게 불러 와야 할까요? 포인트는 알려주신대로 해서 잘 불러 왔습니다. 별점도 위젯에 불러 오고 싶은데 못하고 있습니다 팁을 주시면 너무 감사하겠습니다,. 바쁘신 중이라도 알려 주시면 고맙겠습니다. {@ $oContentsModel = getModel('contents');$grade_main = $oContentsModel->getContentsGradeMean($document_srl);}$document_srl 설… 수고 많으십니다. 콘텐츠판 모듈에서의 별점기능을 위젯에 나타내고 싶은데 어떻게 불러 와야 할까요? 포인트는 알려주신대로 해서 잘 불러 왔습니다. 별점도 위젯에 불러 오고 싶은데 못하고 있습니다 팁을 주시면 너무 감사하겠습니다,. 바쁘신 중이라도 알려 주시면 고맙겠습니다. {@ $oContentsModel = getModel('contents');$grade_main = $oContentsModel->getContentsGradeMean($document_srl);}$document_srl 설정하고, 아래는 별점예제입니다. (템플릿 파일)<!--@for($i=0;$i<5;$i++)--><!--@if($i<$grade_main[1])--><img src="./modules/contents/skins/default/form/file/img/starOn.gif" /><!--@else--><img src="./modules/contents/skins/default/form/file/img/starOff.gif" /><!--@end--><!--@end--> {@ $oContentsModel = getModel('contents'); $grade_main = $oContentsModel->getContentsGradeMean($document_srl); } <!--@for($i=0;$i<5;$i++)--> <!--@if($i<$grade_main[1])--><img src="./modules/contents/skins/default/form/file/img/starOn.gif" /><!--@else--><img src="./modules/contents/skins/default/form/file/img/starOff.gif" /><!--@end--> <!--@end-->
이온디
이온디 8년 전
<?php // echo $_SERVER['REMOTE_ADDR']; $IP = $_SERVER['REMOTE_ADDR']; $allowIP = '14.46.7.66'; if($IP == $allowIP){ // echo ('허용된 아이피입니다.'); } else{ // echo ('허용되지 아이피입니다.'); // header('Location: http://naver.com/'); } ?>나만의 비공개 사이트를 만드는 방법입니다. 사이트 레이아웃 파일에 위와 같은 코드를 작성하세요 :) // … <?php // echo $_SERVER['REMOTE_ADDR']; $IP = $_SERVER['REMOTE_ADDR']; $allowIP = '14.46.7.66'; if($IP == $allowIP){ // echo ('허용된 아이피입니다.'); } else{ // echo ('허용되지 아이피입니다.'); // header('Location: http://naver.com/'); } ?>나만의 비공개 사이트를 만드는 방법입니다. 사이트 레이아웃 파일에 위와 같은 코드를 작성하세요 :) // 는 주석입니다.
이온디
이온디 8년 전
<!--@if($mid=='MID명')--> <!--@if(!$is_logged)--> <?php header('Location: http://eond.com/'); ?> <!--@end--> <!--@end--> <!--@if($mid=='MID명')--> <!--@if(!$is_logged)--> <?php header('Location: http://eond.com/'); ?> <!--@end--> <!--@end-->
이온디
이온디 8년 전
1. 레이아웃에서 메일 찾기 팝업 레이어 만들기 참조파일 : /modules/member/skins/emmLupang/find_member_account.html <form action="./" method="get" onsubmit="return procFilter(this, find_member_account)"> <input type="hidden" name="mid" value="{$mid}" /> <input type="hidden" name="document_srl" valu… 1. 레이아웃에서 메일 찾기 팝업 레이어 만들기 참조파일 : /modules/member/skins/emmLupang/find_member_account.html <form action="./" method="get" onsubmit="return procFilter(this, find_member_account)"> <input type="hidden" name="mid" value="{$mid}" /> <input type="hidden" name="document_srl" value="{$document_srl}" /> <input type="hidden" name="page" value="{$page}" /> <input type="hidden" name="xe_validator_id" value="modules/member/skin/sketchbook5_member/find_member_account/1" /> <input type="email" name="email_address" required placeholder="{$lang->email_address}" title="{$lang->email_address}" /><br /> <div class="btnArea group"> <input type="submit" class="btn pull-right" value="{$lang->cmd_find_member_account}" /> </div> </form> ㄴㅇㄹ