Extra Form
PHP PHP 7.4
CMS Rhymix 2.1

안녕하세요.

 

지금 위젯 상태이고

 

아래처럼 하드코딩 하면 잘작동하는 상태입니다. 

<?php echo ($status['menu3']) ? 'true' : 'false'; ?>

 

이걸 라이믹스에 넣으려고하는데

menu3 이부분을

 

{$v['text']} 의 변수로

 

로 대체하려고합니다.

혹시 

 

 

<?php echo ($status['menu3']) ? 'true' : 'false'; ?>를

<?php echo ($status[$v['text']]) ? 'true' : 'false'; ?>

이렇게도 해보고

{$status[$v['text']]) ? 'true' : 'false';}

로도 해봤는데 작동이 되지 않습니다.

다른 방법이 있을까요?

 

{$v['text']} 로 넣으면 제목이 출려되어서요

 

{@ $text111 = $v['text'];}

로 해서

<?php echo ($status[$text111]) ? 'true' : 'false'; ?>

로 해도 안되고 ㅠㅠ

 

감사합니다.

  • profile

    <?php echo ... ?>는 맨땅에 PHP 문법이고, { ... } 는 템플릿 문법입니다.

    최근 라이믹스에 새로 생긴 템플릿 v2 문법이라면 몰라도,

    기존의 XE 템플릿 문법에서는 두 가지를 섞어서 쓰면 서로의 변수를 인식하지 못합니다.

    즉, 사용하시려는 것이 PHP 문법인지 템플릿 문법인지,

    사용하시려는 $status와 $v라는 변수들이 일반 PHP 변수인지, 템플릿에서 만들어낸 변수인지

    이것부터 확인해야 하고, 같은 종류로 맞춰 주어야 합니다.

     

    또한 {$status['menu3']}을 {$status[$v['text']]}로 대체할 수 있으려면

    $v['text']에 'menu3'이라는 내용이 들어 있어야 합니다. 토씨 하나도 달라서는 안돼요.

    만약 $v['text']에 'menu3'이 아니라 '메뉴3', 'http://도메인/menu3' 같은 내용이 들어 있다면

    동일한 종류의 템플릿 변수라도 안 통하겠지요.

  • profile profile
    $status는 제가 맨땅 php문법이고 $v는 윤삼님 위젯이니 템플릿 문법이겠네요.
  • profile profile
    실례가 안된다면 새로 생긴 템플릿 v2 문법을 참고할만한 매뉴얼 자료가 있을런지요
  • profile profile

    그럼 $status를 선언하는 것부터 시작해서 처음부터 끝까지 모두 템플릿 문법으로 쓰세요.
    <?php ... ?>를 {@ ... }로 바꾸기만 해도 대부분 커버됩니다.

     

    템플릿 v2도 기존 스킨 소스와 섞어쓸 수 없는 것은 마찬가지예요.

    매뉴얼은 공홈! https://rhymix.org/manual/theme/intro

  • profile profile
    이미 {@ ... } 로해보려고했지만

    아마도

    if (count($result) > 0) {
    foreach($result as $row) {

    이부분이 작동을 안해서 그냥 <php로 갔었었는데 조금 시간을두고 천천히 도전해보겠습니다.!!
  • profile profile
    아 if 문도 ㅎㅎ다른 방법으로 써야겠네요
    {@ 로 바꾸려면 ㅎㅎ
  • profile profile

    중괄호 없는 루프문, 조건문 문법을 활용하면 됩니다.

    20여년 전부터 PHP에서 기본 지원하던 문법인데 의외로 모르는 사람이 많더군요.


    if(count($result) > 0):
        foreach($result as $row):
            // 내용
        endforeach;
    endif;

  • profile profile
    와.... {@ 로 바꾸고 0.1초만에 작동해버리네요 ㅠㅠ감동입니다.
  • profile profile

    혹시 외부페이지에서는
    <php 만 지원하나요?

     

    {@ 지원하려면 common 파일 인크루드 해야할까요?

  • profile profile
    해당 외부페이지 설정에서 템플릿 해석을 체크하면
    XE 템플릿 문법, 라이믹스 v2 문법 모두 사용할 수 있습니다.