아.. 너무 어렵네요.. xe에서 라이믹스로...
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 8.1 |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
다른건 검색을 해도 다 나오는데...
이 에러는 나오질 않네요..ㅠㅠ
{@
$widget_info = $widget_info ?? new stdClass();
$cols = $widget_info->cols_list_count;
if($widget_info->cols_list_count < 3)
$cols=6;
elseif($widget_info->cols_list_count == 3)
$cols=4;
elseif($widget_info->cols_list_count == 4)
$cols=3;
elseif($widget_info->cols_list_count > 4)
$cols=2;
else
$cols=$widget_info->cols_list_count;
end
}
이 문장에서 end에서 에러를 뿜어요..
Error #0 "Undefined constant "end"" in widgets/rhythm_content/skins/rhythm_basic/webzine.html on line 17
혹시 아시는 분 계실까요...
옵솔
Lv. 1
댓글 12
endif;
if로 시작했으면 endif; 로 끝나고, for로 시작했으면 endfor; 로 끝납니다. 모든 루프문 공통입니다.
그냥 end만 쓰는 것은 XE 템플릿 문법에서만 통합니다. <!--@if(조건)--><!--@end-->
ParseError #0 "syntax error, unexpected token "endif", expecting end of file"
이렇게 에러가 나네요... 하하하 ㅠㅠ
if(조건):
내용
endif;
php 버전이 낮을땐 정의되지 않은 상수 취급이지만 경고정도로 넘어갔던것이 8부터 오류가 되며 문제가 된 것으로 애초에 저 end는 존재할 이유가 없었습니다.
php 초창기에 잠시 건드려보고.. 진짜 거진 20년 지나서 보려고 하니 그냥 깜깜이네요.. ㅠㅠ
감사합니다~
간단한 수정정도는 ChtGPT에 물어보면 큰 도움이 됩니다.
소스코드, 에러내용, 요구사항을 던져주고 수정해달라고 하면 잘 수정해줍니다.
---------------------------------------------------------
아래 코드를 php 8.2에 맞게 수정해줘.
{@
$widget_info = $widget_info ?? new stdClass();
$cols = $widget_info->cols_list_count;
if($widget_info->cols_list_count < 3)
$cols=6;
elseif($widget_info->cols_list_count == 3)
$cols=4;
elseif($widget_info->cols_list_count == 4)
$cols=3;
elseif($widget_info->cols_list_count > 4)
$cols=2;
else
$cols=$widget_info->cols_list_count;
end
}
------------------------------------------
아래와 같은 답변을 줬는데 코드를 넣어보고
또다른 에러가 나면 또 수정해달라고 하면 됩니다.
(이게 맞는 답변인지는 적용해보지 않아서 몰라요)
<?php
$widget_info = $widget_info ?? new stdClass();
$cols = $widget_info->cols_list_count ?? 0;
if ($cols < 3) {
$cols = 6;
} elseif ($cols == 3) {
$cols = 4;
} elseif ($cols == 4) {
$cols = 3;
} elseif ($cols > 4) {
$cols = 2;
}
?>
저 개인의 경험이 옳은 것은 아니겠으나,
기존 xe용 파일들을 에러 안나게 고쳐 쓰기보다는
rhymix 전용 레이아웃,
rhymix 전용 게시판
rhymix 전용 위젯으로 갈아타시는게 정신건강에 좋을 수 있습니다.
라이믹스 전용이라기보다는, 과거 자료들 대부분이 PHP 5~7 전용입니다. 질문자분은 8 버전대를 덜컥 선택하셨으니, 거기에 맞춰 수정하거나 다른 자료로 대체해야 하는 거죠. 만약 7.4를 선택하셨다면 에러나지 않았을 겁니다.
XE는 단 한 번도 PHP 8 버전대를 지원한 적이 없으니, 8 버전대에서 에러 없이 작동하는 자료라면 라이믹스용일 가능성이 높은 것 뿐입니다. 반대로, 에러나는 자료를 8 버전대에 맞게 수정하시면 그게 곧 라이믹스용이 되지요. 특별할 것이 없습니다.^^
xe타운의 답글 표시 방식이 넘 이뻐서.. 이건 뭘까 하고 뒤적거려보는데.. 못찾겠네요. ㅎㅎㅎㅎ
게시판도 이제 스케치북에서 갈아탈 때가 된 거 같은데.. 또다시 공부중입니다. ㅠㅠ