Extra Form
PHP PHP 7.2
CMS Rhymix 2.0

확장 변수에 입력 의무가 없는경우 

입력안하는 경우가 생깁니다.

 

입력 안한 확장 변수 값이 그대로 화면에 노출되어서 어색한데요

 

확장변수를 입력 안한경우 해당 확장변수는 노출 안되게 설정 가능할까요?

지금 라이믹스에는 잘 적용 되어 있는 것 같습니다.

url 을 입력안하니 url은 빠지고

 

dd.PNG

 

이렇게 두개만 노출이 되어 깔끔하네요.

 

스킨상에서 IF 문이 있는지 궁금합니다.

  • profile
    https://github.com/rhymix/rhymix-sketchbook/blob/f137bb37f24160e35501bd9f03973e9679a89e8c/_read.html#L81

    여기를 보면
    <tr loop="$oDocument->getExtraVars() => $key,$val" cond="$val->getValueHTML() && $val->eid!='rd_preview'">
    이렇게 되어 있는데요.
    확장변수 입력값 $val->getValueHTML() 이 있으면 <tr> 태그를 출력하고 없으면 출력하지 않는다는 뜻이 되겠습니다.

    즉, <!--@if($val->getValueHTML())--> 이 코드를 적절한 위치에 넣어주시면 될 겁니다.
  • profile profile

    스케치북에서 기본 작동하고 있는줄 몰랐네요

    윤삼님 항상 감사드립니다!!

  • profile profile

    {$document->getExtraEidValueHTML('확장변수')}

    이렇게 확장변수를 게시글이 아닌 리스트에 출력하고있는데
    혹시 이것도 값이 없으면 안뜨게 하려면

    <!--@if($val->{$document->getExtraEidValueHTML('확장변수')})-->
    이런식으로 활용이 가능할까요?

  • profile profile

    중괄호는 php로 치면 echo 같은 거여서 잘 안 되실 겁니다.
    그냥 이렇게 해보세요.
    <!--@if($document->getExtraEidValueHTML('확장변수'))-->

    ~~~

    <!--@end-->

  • profile profile
    이건 그냥 확장변수가 있으면 뜨고 없으면 안뜨는것인데

    if 확장변수에 내용이 없으면 안뜨게
    있으면 특정 이미지나 텍스트를 추가로 넣어주려고 합니다. 혹시 IF작동가능할까요?

    그래서 여기 val을 넣어놧는데 ㅈ중괄호네요 그냥 괄호로도 고쳐보겠습니다.
    <!--@if($val->($document->getExtraEidValueHTML('확장변수')))-->
  • profile profile
    아 ㅎㅎㅎ 생각해보니 작동하겠네요 해보고 오겠습니다.
  • profile profile
    목록에서 특정 확장변수값 출력 자리에 값이 있으면 그대로 출력하고, 없으면 다른 것을 넣어준다는 것인가요?
  • profile profile
    네 맞습니다!
    확장변수가 있으면 넣어주고 이미지나 텍스트를 넣어주고 없으면 빼려고합니다.
  • profile profile
    감사합니다!!
  • profile profile

    다시 스케치북 기준으로 말씀드리면 이렇게 될 것 같습니다.

    이 부분에 해당하는데요.

    https://github.com/rhymix/rhymix-sketchbook/blob/f137bb37f24160e35501bd9f03973e9679a89e8c/_list_normal.html#L135

     

    (오타가 없다면ㅎ) 아래처럼 진행하면 될 겁니다.

    <td cond="$val->idx!=-1" class="<!--@if($val->eid=='link_url')-->link_url<!--@else-->m_no<!--@end-->"><!--@if($val->eid=='rating')--><span class="starRating" title="{$document->getExtraValueHTML($val->idx)}{$lang->score}"><span style="width:{$document->getExtraValueHTML($val->idx)*10}%">{$document->getExtraValueHTML($val->idx)}</span></span><!--@else--><!--@if($val->idx == 해당하는확장변수번호)--><!--@if($document->getExtraValueHTML($val->idx))-->변수값이 있을 때 넣을 내용<!--@else-->변수값이 없을 때 넣을 내용(아무 내용도 넣지 않을 것이라면 그냥 비워두면 됨)<!--@end--><!--@else-->{$document->getExtraValueHTML($val->idx)}<!--@end--><!--@end--></td>

     

  • profile profile
    $val-> 뒤에 괄호나 중괄호가 들어가서는 안 됩니다.
    $val이거나 $document거나 상황에 맞는 것 하나를 선택하세요.