안녕하세요. xe에서 시작해 라이믹스로 업데이트한 사이트를 운영 중입니다.
html에서 작성한 if문을 php구문에 맞게 변환시키는 방법에 대해 여쭤보고자 질문 올립니다.
아래는 카테고리url 10005 의 글일 경우에는 Administrator, Stand1, Stand2 그룹에게만 글 제목을 보여주고,
그외의 경우에는 [Stand 회원에게만 공개된 글입니다.] 라는 문장이 제목 대신 노출되도록 만들어본 if문입니다.
(카테고리url 10005가 아닌 경우에는 모든 회원에게 정상적으로 제목을 노출해주고 있습니다.)
이 문장을 php 구문에 맞게 변환하여 사용하고자 하다가 장벽에 부딪혔습니다...
\
<!--@if($document->get('category_srl')==10005)--> <!--@foreach($logged_info->group_list as $key => $val)--> <!--@if($val=="Administrator" || $val=="Stand1" || $val=="Stand2")--> <a href="{$oDocument->getPermanentUrl()}">{$document->getTitle($mi->subject_cut_size)}</a> <!--@end--> <!--@else--><span style="color: #9b8ec2;">Stand 회원에게만 공개된 글입니다.</span> <!--@end--></b></a> <!--@else--> <a href="{$oDocument->getPermanentUrl()}">{$document->getTitle($mi->subject_cut_size)}</a> <!--@end-->
구글링을 통해 html을 php에 삽입할 때는 에코로 감싸라는 말씀대로 해보기도 하고,
특수문자를 php에 맞게 변환해보기도 하고,
php구문들을 분석하며 엇비슷하게 문장구조를 바꿔보기도 했지만 요지부동입니다..ㅠ
이건 제가 변환해보다가 실패한 예시 중 하나입니다..
if($document->get('category_srl')==10005){ @foreach($logged_info->group_list as $key => $val) { if($val=="Administrator" || $val=="Stand1" || $val=="Stand2") continue; echo " <a href="'{$oDocument->getPermanentUrl()}'">'{$oDocument->getTitleText}''</a> "; exit; } else { echo " <span style="'color: #9b8ec2;">Stand 회원에게만 공개된 글입니다.</span> "; exit; } else { echo " <a href="'.$document->getPermanentUrl().'">'.$document->getTitleText().'</a> "; exit; }
어떤 식으로 구문을 구성해야 좋을지 도와주시면 정말 감사하겠습니다.
원래 있던 html이 훨씬 깔끔한 것 같은데 왜 바꾸려고 하시나요?
1. @foreach는 템플릿 문법이고, 순정 PHP에서는 @를 붙이지 않습니다.
2. {$oDocument->getPermanentUrl()} 이런 것도 다 echo로 바꿔주셔야 하고
3. echo " ... "; 안에다가 태그를 넣느라 쌍따옴표를 써서 에러날 것 같네요.
템플릿 문법 없이 HTML을 출력하려면 굉장히 귀찮습니다. ㅎㅎ
다 수정하고 중괄호 짝 맞는지 확인하셔도 안 되면 어디가 어떻게 깨지는지 자세히 설명해 주세요.
절반쯤 나오다 말았는지, 조건이 잘못 적용됐는지, 아예 백지화면인지...
질문 전에 에러메시지(로그)를 찾아보면 더욱 시간이 절약됩니다.