 |
 |
 |
 |
 |
| |
|
|
 |
 |
 |
 |
 |
 |
| 글쓴사람 | 마르크젝 |
| 글쓴시간 | 2007년 11월 20일 오후 3시 41분 51초 |
| 제목 | 안녕하세요~^^ |
 |
 |
아래 질문 했던 내용은..
그냥 우여곡절 끝에 해결 했습니다...
말씀하신 방법으로 하면 쉽게 해결 되겠지만..
질문중에 언급한 [aaaa]와 [bbbb]요소는 그룹으로써..
각각 n개의 요소들이 해당 그룹에 속해 있으며,
출력시 정렬이 필요해서 말씀하신 방법으론 좀 힘들더라구욥.....
제가 질문을 좀 어수선하고, 요점을 잡아내지 못해서 그런거 같네요;;;
에.. 다름이 아니라..
사용중 함수를 tpl_plugin 에 추가하고 *.tpl에서 유용하게 불러 쓰는 기능을
사용하려고 보니,
function include_()
{
foreach (func_get_args() as $f) function_exists($f) or include dirname(__file__).'/tpl_plugin/function.'.$f.'.php';
}
여기에서 include_once 로 수정하면 더 좋을꺼 같아서욥...
보통 템플릿에서 함수를 바로 쓰기도 하지만,
템플릿 파일을 처리하는 모델단 PHP페이지에서도 사용이 필요해서
불러 쓰면 중복 오류가 날꺼 같네요..
그럼 수고하세요~ |
 |
 |
| 관리자 |
어쨌든 해결됐다니 다행이네요..
플러그인 함수 구조가 함수 한 개와, 대응하는 파일 한 개로 구성되어 있고, function_exists() 로 체크하기 때문에 include_once 하지 않아도 한 번만 인클루드됩니다.
다른 곳에서 꼭 사용해야 한다면 그곳에서도 function_exists() 로 체크하시거나 include_once 하시면 됩니다. |
| 07-11-20 18:12 |
 |
|
 |
| 관리자 |
이야기를 좀 했다가, 제가 너무 많이 관여하는 것 같아서 지웠는데
마르크젝님 말씀을 읽어보면 "정렬이 필요할 때는 경우에 따라 배열을 원하는 구조로 바꾸기 어렵다" 가 되고.. 템플릿과 관련이 없지 않거든요.
일단은 쿼리문의 group by, order by 로 해결하면 좋겠지만 mysql 저버전에서 인덱스 문제라든가 서브쿼리가 안된다든가 등등의 이유로 php 쪽에서 해결해야 할 때도 있는데,
아래의 예제는 usort() 함수를 사용해서, 하위배열 items 를 price 로 내림차순 정렬을 한 것입니다. 그룹이든 총계든 추가적인 정렬도 할 수 있을 겁니다.
<?php
$a =Array (
Array (
'group' => 'aaaa',
'price_tot' => 80000,
'items' => Array (
Array
(
'index_key' => 0 ,
'cid' => 68 ,
'price' => 22000
),
Array
(
'index_key' => 0 ,
'cid' => 62 ,
'price' => 47000
),
Array
(
'index_key' => 0 ,
'cid' => 168 ,
'price' => 11000
)
)
),
Array (
'group' => 'bbbb',
'price_tot' => 118000,
'items' => Array (
Array
(
'index_key' => 0 ,
'cid' => 98 ,
'price' => 52000
),
Array
(
'index_key' => 0 ,
'cid' => 12 ,
'price' => 47000
),
Array
(
'index_key' => 0 ,
'cid' => 128 ,
'price' => 19000
)
)
)
);
foreach($a as $k=>$v) {
usort($a[$k]['items'], 'usort_callback');
}
function usort_callback($x,$y) {
return $x['price'] > $y['price'];
}
echo '<pre>';
print_r($a);
echo '</pre>';
?> |
| 07-11-22 15:12 |
 |
|
 |
 |
 |
 |
|
|
|
|
|