질문/조언팁/리소스 공유

사실 정석으로 한다면 필요한 언어를 배운 후 코딩을 하면 됩니다.

 

그런데 그럴 시간이 없거나 그럴 필요성까지는 못느끼는 경우 오픈소스의 CMS의 장점인 소스공개를 적극 활용하면 내가 필요한 기능을 쉽게 구현할 수 있습니다.

 

프로그램이라는게 각 사용되는 언어의 규칙에 맞게 작성되어야 올바른 작동의 결과가 나옵니다.

 

이것은 뒤집어 말하면 짜여진 프로그램의 소스와 작동결과를 대조해 보면 어떤 소스가 어떤 결과를 만들어내는지 알 수 있다는 거죠.

 

애드온이 제일 간단하니 애드온이 만만합니다. 모듈까지 가려면 더 많은 경험이나 사전 학습까지 필요하지만 애드온은 그정도 없이도 가능합니다.

 

 

XE에서 사용되는 애드온의 규칙을 찾아낼 수 있습니다.

 

1.폴더명,파일명이 일치한다는 점, 파일명에 - 하이픈 과 같은 단어가 들어가지 않는다는점

2.conf 폴더 안에는  info.xml 파일이 있다는 것.

 - 파일을 열어보면 작성되는 규칙이 존재한다는 것 , 그리고 거기에 애드온에서 사용될 설정들이 작성되고 관리자페이지에서 애드온 설정이 이에 의해 보인다는 것 이런게 파일만 열어봐도 보입니다.

 

3.실제 php 파일을 열어서 대조를 해보면 동작에 맞는 조건문들이 있을 수 있는데 해당 애드온의 결과를 미리 알고 있기 때문에 조건문 사용등도 쉽게 배울 수 있습니다.

 

또 애드온의 설정에서 입력된 값을 어떻게 형식으로 불러오고, php에서 특정값을 변수로 사용하거나 하는 것들은 그냥 보면 알 수 있게 되어 있습니다. 언어이기 때문에 그렇습니다.

 

경우에 따라 값을 변경해 가면서 사용하고 싶을 경우  애드온설정에서 갑을 입력 받도록 info.xml에 입력 할 수 있도록 항목을 만들어 주는 것이고 그게 필요 없다면 그냥  php에서 값을 그냥 주거나 하면 됩니다.

 

 

php를 열어서 읽다보면 act  라는게 등장하고 단어들을 유심히 보면 어떠한 동작인지 알 수 있어 내가 원하는 동작이 개입되는 시점이 언제인지에 따라 맞춰서 바꿔가면서 할 수 있습니다. 이 경우도 역으로 어떠한 경우에 동작하는 애드온 자료의  php 파일을 열어 개발자분이 작성해 놓은 코드를 보면 정답을 확인할 수 있죠.

 

예제)

저희는 1개의 게시판에서 특정 요일에만 글 쓰기가 가능하도록 하는 기능이 필요했습니다. 저는 어떻게 구현할까요?

 

1.글쓰기시 개입하는(조건에 따라 글쓰기 금지를 하고 메시지를 띄우는) 애드온을 찾아서 열어봅니다. 

 - 이런 애드온을 수정하는게 편하겠죠?

 

2.구글링을 통해 요일 값을 가져올 수 있는 방법을 찾아봅니다.

date("N");  라는 함수로 오늘의 요일에 해당하는 값을 받을 수 있다고 합니다!

1~7 : 월 ~ 일

 

3.애드온의 php에 조건에 따라 금지하고 메시지를 출력하는 부분 이전에 요일 값을 가져올 수 있도록 합니다.

$day=date("N");

$day 라는 변수에 오늘 요일에 해당하는 숫자 값이 담깁니다.

 

4.애드온의 글쓰기가 금지되는 조건문의 조건을 위 변수를 이용해 금지하도록 바꿉니다.

 

if($day==2 || $day==4 || $day==6 || $day==7)

{

조건에 따라 동작되는 코드

 

}

 

화,목,토,일 에는 뭔가 작동이 됩니다. (글 작성을 막고 메시지 출력되는 코드)

요일을 php에 직접 하드코딩하지 않고  info.xml 파일에서 입력받을 수 있도록 할 수 도 있습니다.(1~7 을 , 로 구분해서 받고 이를 이용하면 됩니다. 이런 코드가 쓰인 자료들은 널렸으니... 찾아보면 거기에 정답이..)

 

 

 

5.이미 글쓰기 금지하는 애드온을 개조하고 있으므로 메시지쪽만 적당히 필요한 것으로 바꾸면 됩니다.

 

 

이렇게 해서 코드를 바꾸고 폴더명,파일명,info.xml 파일의 내용을 적당히 기능에 맞게 바꾸서 업로드해서 애드온을 적용하면 아주 편리하게 내가 원하는 게시판에 내가 원하는 기능이 작동되도록 할 수 있습니다.

 

 

 

저도 프로그래밍을 배우지 않고 위와 같은 애드온을 만들어서 사이트에 적용할 수 있으니 보통의 사람들도 다 하실 수 있습니다.

이게 오픈소스로 만들어진  CMS로 사이트를 운영하면서 얻는 가장 큰 장점인 듯 합니다.

  • profile
    이런 게 코딩교육이죠 ㅎ
  • profile
    웹지기님 이해하기 쉽게 설명해주셨네요.
  • ?
    와우..정말 초보 입장에서 너무 좋은 글이에요 감사드립니다. 자체제작 에드온 저도 도전해 보고싶네요.
    갤러리형 게시판에 본문에 첨부하지 않아도 커버이미지를 등록하여 썸네일을 뽑고 관리자모드에서 파일이 유효함으로 표시되는걸 고민하고 있었어요. 스킨에 추가적인 코딩이 필요하다고 하더라구요. 이것도 애드온으로 만들 수 있나요?
  • ? profile
    무슨 말인지 잘 이해가 안가는데 음..
    1. 갤러리 게시판에 본문에 첨부하지 않아도 커버 이미지 등록이 되지 않나요?
    2. 썸네일은 그냥 이미지 올리면 나타나는 걸로 알고 있는데..
    3. 관리자 쪽에 유효함 이건 거의 신경을 써본적이 없어서 무슨 기능인지 모르겠네요. 보긴 했는데^^;
  • profile ?
    답변감사해용..
    프로알라라서 본문에 자동첨부가 되어서 착각을 했네요.
    본문에서 삭제해도 파일만 지우지 않으면 나오고 있었어요 ㅠ
    번거롭게 해드려 죄송합니다.
  • ?
    좋은 글 감사합니다. 다시 한번 정독해야 겠어요. ^^