저는 Land of Coder에서 개발 한 K2 Scroller 모듈을 사용하고 있습니다. 이 모듈을 사용하여 항목보기에 동일한 범주 항목을 표시하면 모듈은 작성한 날짜의 오름차순으로 항목을 표시하며 백엔드의 모듈 매개 변수 설정에서 사용할 수있는 기본 및 유일한 설정입니다. 그러나 모듈에서 날짜순으로 내림차순으로 항목을 표시하려고합니다. 그래서 백엔드 설정에 따라 항목을 처리하는 데 사용되는 도우미에서 기본 코드를 편집하기로 결정했습니다.Lof K2Scroller Module
public function __getList($params){
global $mainframe;
/*some irrelevant code removed*/
$condition = $this->buildConditionQuery($params);
$limitDescriptionBy = $params->get('limit_description_by','char');
$ordering = $params->get('k2_ordering', 'created_desc');
$limit = $params->get('limit_items', 5);
$ordering = str_replace('_', ' ', $ordering);
$my = &JFactory::getUser();
$aid = $my->get('aid', 0);
/*some irrelevant code removed*/
$extraURL = $params->get('open_target')!='modalbox'?'':'&tmpl=component';
$excludeIds = $params->get('exclude_ids', '');
$db = &JFactory::getDBO();
$date =& JFactory::getDate();
$now = $date->toMySQL();
$dateFormat = $params->get('date_format', 'DATE_FORMAT_LC3');
$limitDescriptionBy = $params->get('limit_description_by','char');
$isAuthor= $params->get('itemAuthor',0);
require_once (JPath::clean(JPATH_SITE.'/components/com_k2/helpers/route.php'));
$query = "SELECT a.*, cr.rating_sum/cr.rating_count as rating, c.name as categoryname,
c.id as categoryid, c.alias as categoryalias, c.params as categoryparams, cc.commentcount as commentcount".
" FROM #__k2_items as a".
" LEFT JOIN #__k2_categories c ON c.id = a.catid" .
" LEFT JOIN #__k2_rating as cr ON a.id = cr.itemid".
" LEFT JOIN (select cm.itemid as id, count(cm.id) as commentcount from #__k2_comments as cm
where cm.published=1 group by cm.itemid) as cc on a.id = cc.id";
$query .= " WHERE a.published = 1"
. " AND a.access get('featured_items_show','0') == 0){
$query.= " AND a.featured != 1";
} elseif( $params->get('featured_items_show','0') == 2) {
$query.= " AND a.featured = 1";
}
if(trim($excludeIds)){
$query .= " AND a.id NOT IN(".$excludeIds.") ";
}
$query .= $condition . ' ORDER BY ' . $ordering;
$query .= $limit ? ' LIMIT ' . $limit : '';
$db->setQuery($query);
$data = $db->loadObjectlist();
/*some irrelevant code removed*/
return $data;
}
/**
* build condition query base parameter
*
* @param JParameter $params;
* @return string.
*/
public function buildConditionQuery($params){
$source = trim($params->get('k2_source', 'k2_category'));
if($source == 'k2_category'){
$catids = $params->get('k2_category','');
if(!$catids){
return '';
}
$catids = !is_array($catids) ? $catids : '"'.implode('","',$catids).'"';
$condition = ' AND a.catid IN('.$catids.')';
} else {
$ids = preg_split('/,/',$params->get('k2_items_ids',''));
$tmp = array();
foreach($ids as $id){
$tmp[] = (int) trim($id);
}
$condition = " AND a.id IN('". implode("','", $tmp) ."')";
}
return $condition;
}
내가 코드의 오른쪽 부분을 편집하거나 내가 뭔가를 놓치고 있습니까 : 그리고 이것은 내가 제어 순서를 생각하는 헬퍼 파일의 코드의 일부이다.
귀하의 도움을 기다리고 있습니다.
감사합니다.
감사합니다. 실제로 기본 옵션을 수정했지만 작동하지 않습니다. xml 파일에서 편집해야 할 내용을 알려주시겠습니까? –