Extra Form
PHP PHP 7.4
CMS Rhymix 2.1

안녕하세요? 

 

레이아웃에서 form을 통해서 값을 전달받으면 DB에 기록하고 그것을 다시 출력해주는 그런 간단한 모듈을 만들려 합니다.

 

지금은 임시로 데이터를 넣고 출력하는 부분먼저 만들고 있는데 라이믹스 기초지식이 부족하여 헤매고 있습니다..

 

d248630a-3094-427f-8aa0-3477d656002d.png

6dc56169-5eb1-4a63-9269-b07303f4c014.png

 

 

view.php 로 print_r($output); 하여 만들어둔 xml쿼리가 잘 작동하여 이러한 값을 가져왔다는 것 까지는 했습니다. 

이제 이것을 html(레이아웃) 에다 뿌려주고싶은데 어떻게 해야할지 모르겠습니다.

 

잘못된걸 수 있지만 제가 여러 소스보면서 알게된건 view.php 에서

 $output = executeQuery('testmodule.getacceleLog', $args); 하면 DB에서 해당 값을 output로 가져오고 

Context::set('accele1', $output->accele1); 을 하면 가져온 값이 accele1 변수에 들어오고 

html에서 {$accele1} 하면 값이 나온다는겁니다.

 

아마 컨트롤러에서 DB에 관해 무언가를 해줘야할거같은데.. 이것을 어떻게 해야할지 모르겠습니다.

 

 

이것에 대해 알려주시거나 참고할만한 자료가 있을까요..?

 

  • Lv24

    ? 그냥 템플릿에서
    {@
    $output = executeQuery('testmodule.getacceleLog', $args);
    }

    {$output->data->accele1} 이렇게 하시면 되는거 아닐까요?

  • Lv24 Lv4
    • ldea
    • 질문기여자
    스킨쪽 html에서 말이죠? 해봤는데 아무값도 나오지 않네요.
  • Lv12
    model 에 선언하는것도 잘 되어 있으신가요?
  • Lv12 Lv4
    • ldea
    • 질문기여자
    conf>module.xml 이라면 <action name="dispCalcContentList" type="view" permission="member" meta-noindex="true" route="calc" /> 으로 선언해두었습니다.
  • Lv4 Lv12
    getacceleLog 는 어디에 어떻게 되어 있을까요
  • Lv12 Lv4
    • ldea
    • 질문기여자

    <query id="getacceleLog.xml" action="select">
    <tables>
    <table name="calc_accele_log" />
    </tables>
    <columns>
    <column name="*" />
    </columns>
    </query>

    으로 단순하게 전체 다 긁어오도록 되어있습니다.

    위치는 queries 폴더 안에 있습니다.

  • Lv12
    아, 이미지를 보니까 이미 값을 구하신건데 페이징 값이군요.
  • Lv12
    $output->page_navigation->data[0]->accele1 값이 1 인건가요?
  • Lv4
    • ldea
    • 질문기여자

    view.php 에서 print_r으로 $output->page_navigation->data[0]->accele1 해봤는데 값을 못받아 오는것같아요. 공백으로 나옵니다.. 값은 1이 맞습니다

  • Lv4 Lv5
    쿼리 실행 결과는 $output->data에 담깁니다.

    page_navigation은 위 쿼리에서는 페이지네이션을 사용하도록 명시되어 있지 않으니 $output->page_naviagtion 에 접근하면 어떠한 값도 나오지 않는 게 정상입니다.
  • Lv5 Lv4
    • ldea
    • 질문기여자

    데이터를 2개를 넣어뒀는데 1개만 넣은 후 {$output->data->accele1} 해주니 값이 나오네요.. 감사합니다. 어느정도 돌파구가 보인것같습니다.

  • Lv4 Lv5
    executeQuery()는 항상 배열을 반환하지 않습니다.
    목록 같이 여러 개의 데이터가 나올 가능성이 있는 경우는 executeQueryArray()를 사용하시기 바랍니다.
  • Lv5 Lv4
    • ldea
    • 질문기여자
    조언 감사드립니다.