'제목에 홑따옴표 출력 ' 위젯에서 오류
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
위젯에서 홑따옴표 ' 가 ' 로 출력이 되는데 해결 방법이 있을까요?
{$item->getTitle($widget_info->subject_cut_size)} 이부분을
{$item->getTitle()} 이와 같이 수정하고 css에서 text-overflow: ellipsis; 로 처리를 하긴 했는데
$widget_info->subject_cut_size 이부분이 들어가면 특수문자가 출력되네요.
똑띠
Lv. 6
댓글 6
매뉴얼 https://rhymix.org/manual/theme/template_v1#%EC%B6%9C%EB%A0%A5_%ED%95%84%ED%84%B0
에서 안내처럼 {$item->getTitle($widget_info->subject_cut_size)|noescape} 이렇게 처리하면 되지않을까요?
아.. {htmlspecialchars_decode($item->getTitle($widget_info->subject_cut_size))} 이렇게 해결을 해서 사용했는데, 안되다가 다시되네요..ㅠ.ㅠ
다른 사이트에 신규로 셋팅하고 테스트 하니 됩니다.
{$item->getTitle($widget_info->subject_cut_size)|noescape} 는 안되구요.
라이믹스 최신 버전에 기본 포함된 content 위젯인가요? 아니면 다른 위젯인가요?
2016년 초에 제목 escape하는 방식이 바뀌었는데, 거기에 맞추어 수정하지 않은 위젯이나 위젯 스킨이라면 일부 특수문자가 이중으로 escape될 수 있습니다. 게시판 스킨도 오래된 것을 사용하면 글을 수정할 때마다 특수문자가 계속 붙는 경우가 있고요.
최신버전에서 테스트 하고 안되어서 질문 남겼는데, 신규로 사이트 셋팅하고 신규셋팅한 곳에 기존처럼
{htmlspecialchars_decode($item->getTitle($widget_info->subject_cut_size))} 로 변경하니 되네요.
컴퓨터 캐시문제였는지...
htmlspecialchars_decode를 넣는다면 당연히 될 겁니다. 제목에 해괴한 특수문자가 들어 있을 수도 있으니, 뒤에 |autoescape 하나 더 붙여 주면 안성맞춤이고요.
그러나 최신 라이믹스에서 content 위젯을 사용하면 (기본 스킨 기준) 그냥 getTitle($widget_info->subject_cut_size)만 해도 정확하게 나오는 것이 정상이거든요. 혹시 다른 스킨인가요?
사무실 컴퓨터가 일하기 싫은가 보네요..ㅡㅡ;;
집에와서 테스트 해보니 기본 content 위젯에서 getTitle($widget_info->subject_cut_size) 이걸로도 잘 노출 됩니다.