$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 함수 앞에 ! 를 붙여 포함하지 않을 경우를 체크함
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]);
}
}
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로 리다이렉트하는 방법
구글웹폰트에서 나눔고딕을 적용할 경우, 익스플로러에서 제대로 나눔고딕이 적용되지 않아
깃헙에 새로 폰트를 업로드하였습니다.
출처 : 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;}
본 글은 마켓플레이스 모듈에서 상위 카테고리의 선택 여부를 구분하고자 할 때 사용하는 팁입니다.
조금 더 설명하자면 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
{$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
">
수고 많으십니다.
콘텐츠판 모듈에서의 별점기능을 위젯에 나타내고 싶은데 어떻게 불러 와야 할까요?
포인트는 알려주신대로 해서 잘 불러 왔습니다.
별점도 위젯에 불러 오고 싶은데 못하고 있습니다 팁을 주시면 너무 감사하겠습니다,.
바쁘신 중이라도 알려 주시면 고맙겠습니다.
{@
$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-->