Q&A

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

2020.02.27 12:07
249
0
CMS/프레임워크 사용안함
개발 언어 사용안함

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

예를 들어, 

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

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

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

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

 

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

 

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

eond Lv. 13
# 라이믹스 스킨 제작은 어디? >>>> XE 레이아웃, 라이믹스 스킨제작은 이온디에서 커스터마이징해드립니다.
# 빠른 라이믹스 커뮤니티용 호스팅을 찾고 계신가요? >>>> 이온디호스팅 서비스는 PHP8 & Redis 서버 캐시를 활용하여 라이믹스에 최적화된 호스팅 서비스를 제공해드립니다. (서버세팅시 웹패널, 내도메인메일서비스도 함께 구축해드립니다.)
https://eond.com

댓글 2

  • 2020.02.27 12:13 #1348139
    템플릿에서 <?php ~ ?> 로 PHP를 사용할 수 있습니다.

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

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

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

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

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

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

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

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

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