질문/조언질답게시판
Extra Form
PHP 사용안함
CMS 사용안함

xe 템플릿 코드에 있는 변수를 <? ... ?> 이 안에서 활용 가능한가요?

예를 들어, 

[@ $_li = $layout_info;] [? echo $_li; ?] 

(※ 꺽쇠가 보안 정책상 허용되지 않는다고 해서 [..]로 고쳤습니다.)

(※ $도 $_로 임의로 수정했습니다. )

(※ 흰색코드는 {..}이고 주황색코드는 <..>입니다.)

 

그냥 간단하게 예를 들어 쓴건데, 이렇게 {@..} 이 템플릿 구문 안에서 사용한 변수를

 

<?..?> 이 안에서 사용가능하게 하려면 어떻게 해야하나요?

  • profile
    템플릿에서 <?php ~ ?> 로 PHP를 사용할 수 있습니다.

    하지만 템플릿변수와 <? ?> 안의 변수는 다르게 사용됩니다.

    서로 데이타를 전달하려면 $__Context 를 이용하시면 됩니다.

    템플릿변수를 PHP에서 사용
    {@ $aa = 1; }

    <?php
    echo $__Context->aa;
    ?>

    PHP변수를 템플릿에서 사용
    <?php
    $__Context->aa = 1;
    ?>
    {@ print $aa;}

    https://xe1.xpressengine.com/tip/13336987
    자답합니다;
  • profile profile
    그것도 비추합니다.
    <?php 와 같은것을 템플릿에서 사용할꺼면 결국 {@ 으로도 충분히 구현이 가능한데 쓸이유가 없습니다.

    대처가 가능한 상황에서 굳이 비공식적인 방법을 쓰면서까지 PHP를 실행시켜야할 명분은 없을 것 같아요.

    저렇게 코딩한 것은 나중에 레이아웃설정-> 편집 항목에서 설정도 저장하지 못합니다. (HTML파일 편집말씀드리는겁니다.)

    echo와 같은 일반적인 코드는 {$~~~} 으로도 대처가능하고 if else 여러줄을 쓰는경우 if(): else: endif: 형태로 충분히 가능한 상황에서 비공식적인 PHP방식을 쓰지 않는걸 권장드리네요..