Q&A

제목이 좀 복잡하긴 한데요;;;

스크립트를 대략 다음과 같이 짜봤습니다.

 

<script>
    (function($){
        $('.et_vars tr').filter(function(){
            return $(this).children('th').text().indexOf('후원금') != -1;
        }).each(function(){
            var tr = $(this),
                idx = $('.et_vars tr').index(tr)+1,
                donated = '{implode("",$oDocument->getExtraEidValue($extra_keys[' + idx + ']->eid))}';
... 블라블라~~

 

보시다시피 donated라는 제이쿼리 변수로 XE의 변수를 불러오고 있습니다.

이때 $extra_keys[' + idx + ']->eid 부분에서 idx를 기대와 달리ㅠ 못 읽어내더라구요.

물론 그냥 숫자만 넣었을 땐 잘 작동하구요;;;

 

요약: 스크립트 구문 내에서 XE의 템플릿 변수를 사용하고 있는데, 변수에 들어가는 key값을 스크립트에서 정의했던 변수로 끼워 넣을 수는 없는 건가요?

윤삼 Lv. 19
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.

댓글 6

  • 그렇게 사용하는건 불가능합니다.
    간단하게... 확장변수 모두를 JS의 한 Object 에 집어넣고 불러오는 방법도 있습니다.
  • @ExtendKR
    오호... 그렇게 해봐야겠네요! 감사합니다~
  • tr이나 해당 엘리먼트에 php단에서 .data()로 값을 저장하신 후
    제이커리에서는 객체의 상위값 또는 부모객체등을 찾아 .find()로
    다시 해당 객체를 찾은후 .data()로 값을 가져오시면 조금더 편리할 수 있습니다.
  • @착한인연
    php단을 최대한 건드리지 않아보려 했었거든요. 역시 쉽지가 않네요. 에휴...
  • @윤삼
    php를 안건드리려면 결국 애드온이나 위젯으로 가야합니다. --"
    저도 예전에는 코어나 보드를 손을 많이 보았지만
    요즘은 애드온으로 어거지로 밀어넣습니다.^^;
  • @착한인연
    맞아요;;;; 너무 지저분해서 어느 순간 스스로 생각해봐도 심하다 싶더라구요ㅎㅎㅎ