모듈, DB내용을 레이아웃에 뿌려주는 방법
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
안녕하세요?
레이아웃에서 form을 통해서 값을 전달받으면 DB에 기록하고 그것을 다시 출력해주는 그런 간단한 모듈을 만들려 합니다.
지금은 임시로 데이터를 넣고 출력하는 부분먼저 만들고 있는데 라이믹스 기초지식이 부족하여 헤매고 있습니다..
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에 관해 무언가를 해줘야할거같은데.. 이것을 어떻게 해야할지 모르겠습니다.
이것에 대해 알려주시거나 참고할만한 자료가 있을까요..?
Dd
Lv. 2
댓글 13
? 그냥 템플릿에서
{@
$output = executeQuery('testmodule.getacceleLog', $args);
}
{$output->data->accele1} 이렇게 하시면 되는거 아닐까요?
<query id="getacceleLog.xml" action="select">
<tables>
<table name="calc_accele_log" />
</tables>
<columns>
<column name="*" />
</columns>
</query>
으로 단순하게 전체 다 긁어오도록 되어있습니다.
위치는 queries 폴더 안에 있습니다.
view.php 에서 print_r으로 $output->page_navigation->data[0]->accele1 해봤는데 값을 못받아 오는것같아요. 공백으로 나옵니다.. 값은 1이 맞습니다
page_navigation은 위 쿼리에서는 페이지네이션을 사용하도록 명시되어 있지 않으니 $output->page_naviagtion 에 접근하면 어떠한 값도 나오지 않는 게 정상입니다.
데이터를 2개를 넣어뒀는데 1개만 넣은 후 {$output->data->accele1} 해주니 값이 나오네요.. 감사합니다. 어느정도 돌파구가 보인것같습니다.
목록 같이 여러 개의 데이터가 나올 가능성이 있는 경우는 executeQueryArray()를 사용하시기 바랍니다.