개발

fullcalendar 이벤트 표기 안되는 오류 (Fatal error: Cannot redeclare class Event)

FullCanlendar는 자바스크립트 기반으로 월별/주별/일별 다양한 포멧으로 달력 기능을 제공해주는 오픈소스이다. https://fullcalendar.io/ FullCalendar - JavaScript Event Calendar Open Source... With over 10 years of open source and over 120 contributors, FullCalendar will always have a free and open source core. Learn more fullcalendar.io 잘 잘동하던 fullcalendar가 갑자기 어느날 부터 이벤트를 달력에 표기하지 못하는 오류가 발생. 1. 오류 찾기 fullcalendar 파일 중 이벤트를 불러오는 get-event..

php + ajax return false 처리하기

php로 폼 내용을 전송하는 경우, 폼 스크립트 안에 ajax를 넣어 값을 체크한 뒤에 문제가 없는 경우 전송하는 스크립트를 짜는데, ajax success 안에 바로 return false를 쓰니 제대로 실행되지 않고 그냥 submit이 되어버렸다. 해결 방법은 ajax 구문안에 return false를 직접적으로 쓰기보다는 스크립트 상단 부분에 rtn=false;를 정의한뒤 ajax 구문안에서 실패한 경우 rtn = false; 성공한 경우 rtn = true 값을 넣어주고 스크립트 맨 마지막에 return rtn을 호출하면 된다. 이때 ajax 구문안에 async: false를 꼭 넣어줘야한다. function checkform() { var rtn = false; // 변수선언 $.ajax({ t..

카페24 갤러리 게시판 썸네일 크기 변경하기

카페24 갤러리 목록페이지(list.html) 썸네일을 아무리 고화질로 업로드해도 자체적으로 리사이즈가 되어 보여 깨져보인다. 관리자페이지에서 리사이즈 크기를 따로 설정할 수 있는 곳이 없는 것 같다. 코드로 직접 수정해주는 방법 밖에 없다. 썸네일을 리사이즈하지 않고, 원본크기를 불러오는 방식이다. 스킨편집에서 /board/gallery/list.html 파일을 수정하면 된다. 기존에 {$img_src}로 이미지를 불러오는데 이 경로를 /file_data/카페24아이디/{$real_filename} 로 변경해주면 된다. 썸네일로 이미지 원본을 불러오는 것이니 리스트 페이지 로드가 느려지지 않게 적절한 크기로 썸네일을 업로드 해주어야한다. 변경전 변경후

카페24 서브도메인 설정하기 / 2차도메인 추가

abc.com의 도메인을 쓰고 있는데, en.abc.com 처럼 기본 도메인 앞에 특정한 문자를 추가해 서브도메인을 사용하고 싶은 경우 카페24에서 쉽게 설정할 수 있다. 동일한 사이트에 한글/영문버전으로 나눠서 사용하는 경우 서브도메인을 많이 사용한다. 아래의 설명은 카페24 기준으로 설정 방법을 설명하지만, 가비아나 다른 서비스도 설정 방법은 비슷하다. 서브도메인이란? 도메인 네임 시스템(DNS) 계층에서 서브도메인(subdomain) 또는 하위 도메인은 다른 주도메인의 일부인 도메인이다. 예를 들어 example.com이라는 웹사이트의 일부로서 온라인 스토어를 제공하게 된다면 서브도메인 shop.example.com을 사용할 수 있다. (출저 : 위키백과) 카페24 서브도메인 설정 방법 1. 카페2..

[jQuery] Owl Carousel 여백 없애기

Owl Carousel는 jquery 기반으로 반응형, 터치 기능을 제공하는 이미지 슬라이더이다. https://owlcarousel2.github.io/OwlCarousel2/ Home | Owl Carousel | 2.3.4 Modules and Plugins Owl Carousel supports plugin modular structure. Therefore, you can detach plugins that you won't use on your project or create new ones that fit your needs owlcarousel2.github.io 그런데 Owl Carousel 옵션에 margin:0, items:1 을 넣어 이미지 하나씩 나오도록 설정하여 사용하였는데, 오..

ajax 순서대로 여러번 사용하기 (Promise, then)

ajax란? AJAX란 비동기 자바스크립트와 XML (Asynchronous JavaScript And XML)을 말한다. 간단히 말하면, 서버와 통신하기 위해 XMLHttpRequest 객체를 사용하는 것을 말한다. JSON, XML, HTML 그리고 일반 텍스트 형식 등을 포함한 다양한 포맷을 주고 받을 수 있다. AJAX의 강력한 특징은 페이지 전체를 리프레쉬 하지 않고서도 수행 되는 "비동기성"이다. 이러한 비동기성을 통해 사용자의 Event가 있으면 전체 페이지가 아닌 일부분만을 업데이트 할 수 있게 해준다. 출저 : MDN Web docs 정리하자면 ajax의 가장 큰 특징 두가지는 페이지 새로고침 없이 서버에 요청하고, 서버로부터 데이터를 받고 작업을 수행한다는 것이다. 아마 웹이나 앱개발을..

[jQuery] 반응형 bxSlider

bxSlider 다양한 옵션을 제공해주어 사용하기가 편해 웹에서 많이 사용되는 이미지슬라이더 bxslider https://bxslider.com/ jQuery Content Slider | Responsive jQuery Slider | bxSlider Coded with ♥ by bxslider.com bxSlider 깃허브를 확인해보니 responsive jQuery content slider 라고 써있다. 어느 기기에서나 조정이 되는 Fully responsive 라고... 기존 bxSlider bxSlider는 기본적으로 반응형을 제공하기는 하지만 화면을 줄이면 전체적으로 사이즈가 작아지는 것일 뿐, 보여지는 슬라이드 갯수를 반응형으로 조절해주지는 않는다. 화면이 작아지는데 슬라이드 갯수를 그대..

onclick 현재창/새창/팝업창 페이지 이동

자바스크립트에서 유용하게 사용되는 onclick. 모든 브라우저에서 지원이 된다. 불가피하게 링크 태크 a 사용이 어려운 경우 onclick으로 링크 연결을 하는 경우가 종종 있는데, onclick으로도 이동할 페이지를 현재창/새창/상위프레임/팝업으로 다양하게 열 수 있다. 1. 현재창에서 열 때 onclick="location.href='링크주소'" 2. 새창으로 열 때 onclick="window.open('링크주소')" 3. 상위 프레임에서 열 때 onclick="parent.location.href='링크주소'" 4. 팝업창으로 열 때 onclick="window.open('링크주소','창이름','width=가로사이즈,height=세로사이즈,left=왼쪽위치,top=상단위치');" 팝업의 경우 옵..

[MySQL] #1067 'ct_time'의 유효하지 못한 디폴트 값을 사용하셨습니다. 오류 해결

문제상황 phpMyAdmin에서 칼럼을 수정하거나 삭제하려고할 때마다 #1067 -'ct_time'의 유효하지 못한 디폴트 값을 사용하셨습니다. 라고 오류가 발생한다. ct_time 컬럼 형식은 datetime이고 기본값이 0000-00-00 00:00:00 이었는데, 기존에 서버에 설치해서 사용할 때는 아무 문제 없다가 이번에 새로운 서버에 새롭게 영카트를 설치하면서 문제가 발생했다. 이 문제는 mysql 5.6 이후로 mysql 문법이 엄격해지면서 발생한다고 한다. mysql 5.5 이하 버전에서는 기본이 false 였지만, 5.6부터는 기본이 true 여서 발생하는 문제. 5.6의 문법에 맞게 입력하거나 아래의 방법으로 해결이 가능하다. 해결방법 SQL_MODE에서 "NO_ZERO_IN_DATE,N..

javascript + ajax 오류 해결하는 여러가지 방법

javascript로 ajax를 활용하여 값을 저장 불러올때 오류가 나는 경우, 아래와 같은 코드를 추가해주면 어디서 오류가 나는지 알 수 있다. success: function(result) { if (result) { alert("완료"); } else { alert("전송된 값 없음"); } }, error: function() { alert("에러 발생"); } [적용예시] $.ajax({ type:"POST", url:"/shop/ajax_uploader.php", data: { it_id : it_id, is_id : is_id }, contentType: "application/json", success: function(result) { if (result) { alert("완료"); } ..

[카페24 오류] 장바구니에 상품이 담기지 않거나 "필수 옵션을 선택해주세요." 오류 수정

증상 카페24 쇼핑몰 상품 상세페이지에서 (필수, 선택 옵션이 없는 경우) 상품을 장바구니에 담기 버튼을 클릭했는데 장바구니에 담기지 않거나 (필수, 선택 옵션이 있는 경우) 옵션을 선택했는데도 "필수 옵션을 선택해주세요" 경고창이 뜨는 증상 해결방법 스킨 코드의 문제가 아니라 도메인 연결의 문제이다. 도메인을 포워딩 기능을 사용하여 홈페이지를 연결하는 경우 발생하는 문제이다. 포워딩 기능을 모두 해제하고, 네임서버를 카페24로 변경하면 된다. (예시) 가비아에서 도메인을 구입한 경우 1) 가비아 로그인 후 > 마이가비아 > 서비스관리 > 해당도메인 리스트에서 [관리툴] 클릭 2) 네임서버 옆에 [설정]을 눌러 카페24 네임서버로 변경해준다. 카페24 네임서버 1차: dns1.cafe24.com (175..

[php] strpos(), strrpos(), in_array() 특정 문자열 검색하기

strpos()와 strrpos() 함수는 strstr()과 유사한 방식으로 동작한다. 하지만 strpos()의 실행 속도가 더 빠르기 때문에 strstr()대신 strpos()의 사용을 권장한다고 한다. 문장이나 특정 변수에서 특정 문자가 있는지 체크하려면 strpos(), strrpos() 함수를 사용하면 된다. strpos([대상 문자열], [조건 문자열]) strpos([대상 문자열], [조건 문자열], [검색시작위치(숫자)]) strrpos([대상 문자열], [조건 문자열]) strrpos([대상 문자열], [조건 문자열], [검색시작위치(숫자)]) 둘의 차이는 strpos 함수는 영문자의 대소문자를 구별하여 검색한다. 영문자 대소문자를 구별하지 않고 검색하려면 strrpos()함수를 사용하면 ..

[jQuery] jquery ui를 이용한 tooltip 커스터마이징 (툴팁 배경색, 글자색 변경)

회원가입이나 폼 입력시에 해당 항목에 대한 상세한 설명이 필요한 경우, 상세하게 설명을 넣을수도 있지만 필요에 따라 볼 수 있게 툴팁으로 안내가 가능하다. 생일 옆에 느낌표 아이콘에 마우스를 대보면 해당 항목에 대한 상세 설명을 툴팁으로 띄워준다. 툴팁의 배경색상이나 폰트 컬러도 변경가능하다. jquery ui 파일 로드 일단 관련된 jquery ui파일을 로드한다. html 툴팁이 나오게할 아이콘 또는 요소를 넣는다. 툴팁 설명은 title=""안에 넣으면 된다. 여기서는 Font Awesome 을 활용하였는데, 꼭 Font Awesome이 아니더라도 input, img 등 다양하게 활용이 가능하다. 스크립트 삽입 위에 넣은 툴팁 아이콘 클래스명을 알맞게 넣어주고 tooltip() 스크립트를 넣어주면 ..

[jQuery] 스크롤 따라다니는 퀵메뉴 만들기

예전에 한 때 홈페이지에 항상 퀵메뉴가 있던 시절이 있었는데, 없어지는 듯 하다가 요새 다시 보이는 듯 하다. 아무래도 쇼핑몰이나 고객의 요구에 빨리 응해야하는 사이트에서는 퀵메뉴가 필수불가결한 요소인 것 같다. 보통 오른쪽에 완전히 고정해두는 형태(position:absolute)로 넣을 수도 있지만 완전 고정해두면 좀 유연성이 없어보이고(?) 너무 큰 사이즈로 넣는다면 사이트의 다른 구성요소보다 더 이목이 집중되는 느낌... 요새는 아래처럼 작은메뉴를 만들어 스크롤 내릴때 마다 부드럽게 따라오는 형태로 많이 사용하는 것 같다. jquery를 활용하면 부드럽게 따라오는 메뉴를 만들 수 있다. 일단 결과물은 아래 HTML 퀵메뉴를 구성하고 클래스값(quickmenu)이나 아이디를 지정한다. 등급별혜택 1..

[카페24] 상품 목록 페이지 가격 세자리마다 콤마, 화폐단위 나타내기

간혹 스킨을 편집하다 보면 가격이 제대로 표기가 안되는 경우가 있다. 이 경우 스마트디자인 편집 창에 들어가서 product > detail.html 파일을 수정해주어야한다. {$product_price}을 찾아서 {$disp_product_price} 로 변경해주기만 하면 끝! detail.html 파일안에 여러군데에 {$product_price}가 있는데 모두 찾아서 바꿔주면 된다. 주의할 점은 앞 부분의 {$product_price_display|display}는 $disp_를 추가하지 않고 그대로 두어야 한다는 점! {$disp_product_price} [적용 결과] 세자리마다 콤마가 찍히고 화폐단위(원)이 같이 나오게 된다.