Extra Form
PHP PHP 7.4
CMS Rhymix 2.0

게시판 확장변수 다중선택,연락처 사용시 @ 문제

 

 

 

 변수 ID                 입력항목 이름         형식                                      기본값                

time                          근무요일          다중 선택(checkbox)        월,화,수,목,금,토,일         

 변수 ID                 입력항목 이름         형식                                   

phone                            연락처       전화번호 형식(phone)               

 

스케치북 게시판을 사용중입니다

 

위젯에서 게시판의 정보를 불러오면 아래처럼 |@| 가 나타나는데 왜이렇게 표현되는걸까요

 

 

월|@|화|@|수|@|목|@|금|@|토

 

010|@|0000|@|0000

  • profile
    한번 나온 값을 explode 으로 array데이터로 만든다음 사용하시길 바랍니다.
  • ?
    사용자정의를 불러올때 getExtraValue, getExtraEidValue 같은 형태를 쓰면 |@| 가 붙은 코드로 나오고, getExtraValueHTML, getExtraEidValueHTML 같은 형태를 쓰면 미리 지정되어있는 형태로 바뀌어서 나옵니다. ( - 라든지 , 형태로 )

    아니면 출력시 str_replace 로 |@| 를 다른 값으로 치환하거나
    explode 로 나뉜 후 implode 에 원하는 기호를 넣어 출력할 수도 있겠죠
  • profile
    개인적으로는 워드프레스처럼 metadata 테이블을 설계해놨다면 |@| 같은 문자열을 구분자로 사용하지 않았어도 됬을텐데요. 조금 아쉽네요 ^^
  • profile profile

    문서 확장변수는 일찌감치 별도의 테이블로 분리한 것 같은데, 회원 확장변수나 모듈 설정 등 나머지 부분에서는 여전히 컬럼 하나에 serialize해서 쑤셔넣고 있더라구요. 하위호환성 때문에 함부로 건드릴 수도 없고...

    아니, 차라리 이것까지 일관성있게 serialize를 쓰거나 json으로 인코딩했다면 여러 개의 값을 하나의 문자열로 묶어서 저장하더라도 큰 문제가 생기지는 않았을 거예요. |@|로 구분하는 이 괴상한 방식은, 내용에 |@|이라는 특수문자 조합이 들어가는 순간 망가지기 딱 좋지요. ㅠ