라이믹스 rx_color_scheme 쿠키 도메인 설정 방법
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 7.4 |
현재 다크 모드 쿠키를 레이아웃 내 자체 쿠키로 사용 중입니다.
이를 라이믹스에서 제공하는 rx_color_scheme 쿠키로 연동시키고 싶은데, 문제는 rx_color_scheme 쿠키의 도메인 설정이 라이믹스에 설정된 도메인만으로 되어 있어서, 상위 도메인에서 해당 쿠키에 접근할 수가 없네요.
코어 수정 없이 rx_color_scheme 쿠키의 도메인 설정이 .domain.com 형식이 되도록 할 수 있나요?
댓글 4
쿠키데이터는 도메인별로 다르게 적용됩니다.
즉, 도메인이 A도메인과 B도메인이 1차 2차 도메인의 차이가 있더라도 각각 데이터를 저장하는 방식으로 구현되어있습니다.
굳이 도메인별로 같은 데이터를 공유하고 싶으시면 쿠키값을 변경하는 저장값에
setcookie("rx_color_scheme", "dark", time()+3600, "/", ".example.com"); <- 원하는 도메인을 저장하도록 하시면 됩니다.
이코드는 PHP코드이기 때문에 PHP에서 실행하셔야 합니다.
앞에서부터 이름, 값, 쿠키저장시간, 옵션(비워둬두됩니다.), 도메인입니다.
Rhymix\Framework\UA::setColorScheme(string $color_scheme)
setColorScheme(color_scheme)
위 함수를 이용하는 방법으로는 어려울까요? 아까전에 비슷한 방법으로 rx_color_scheme 쿠키에다가 .example.com 도메인을 직접 지정해서 해봤는데 정작 라이믹스에서는 인식하지 않는 것 같아서요. 해당 쿠키만 라이믹스가 .example.com 형식도 인식하게 하고 싶습니다. (라이믹스는 서브 도메인에서 돌아가고 있습니다.)
이게 코어 수정 없이는 불가능하다면 그냥 포기해야 할 것 같네요.
해당 쿠키를 굽는 곳은 common/framework/ua.php 맨 아랫부분입니다.
도메인을 바꿔서 쿠키를 굽더라도 기존에 구워진 쿠키가 있는 경우에는 먹히지 않을 가능성이 높으니 테스트시 무척 주의하셔야 합니다. 이상하게 작동이 안 된다고 생각했는데 알고보니 기존 쿠키 때문인 경우가 무척 많습니다.