Antwort #1 am: 04. Januar 2021, 15:41:13
Ah jetzt, ja!
Folgende Lösung, mit der auch alle anderen Spalten sortiert werden können, funktioniert für mich:
In der /admin/specials.php oben einfügen:
//BOF sorting
if ($_GET['sorting']) {
switch ($_GET['sorting']){
case 'name' :
$spsort = ' order by pd.products_name ASC';
break;
case 'name-desc' :
$spsort = ' order by pd.products_name DESC';
break;
case 'quantity' :
$spsort = ' order by p.products_quantity ASC';
break;
case 'quantity-desc' :
$spsort = ' order by p.products_quantity DESC';
break;
case 'specials-quantity' :
$spsort = ' order by s.specials_quantity ASC';
break;
case 'specials-quantity-desc' :
$spsort = ' order by s.specials_quantity DESC';
break;
case 'expires_date' :
$spsort = ' order by s.expires_date ASC';
break;
case 'expires_date-desc' :
$spsort = ' order by s.expires_date DESC';
break;
case 'price' :
$spsort = ' order by p.products_price ASC';
break;
case 'price-desc' :
$spsort = ' order by p.products_price DESC';
break;
case 'status' :
$spsort = ' order by s.status ASC';
break;
case 'status-desc' :
$spsort = ' order by s.status DESC';
break;
}
} else {
$spsort = ' order by s.status asc'; // default sorting
}
//EOF sorting
Den Block mit den Spaltenüberschriften durch folgenden ersetzen:
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS; ?><?php echo xtc_sorting(FILENAME_SPECIALS,'name'); ?></td>
<td class="dataTableHeadingContent" align="center">Lager<?php echo xtc_sorting(FILENAME_SPECIALS,'quantity'); ?></td>
<td class="dataTableHeadingContent" align="center">Angegotsanzahl<?php echo xtc_sorting(FILENAME_SPECIALS,'specials-quantity'); ?></td>
<td class="dataTableHeadingContent" align="right"><?php echo TEXT_INFO_EXPIRES_DATE; ?><?php echo xtc_sorting(FILENAME_SPECIALS,'expires_date'); ?></td>
<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRODUCTS_PRICE; ?><?php echo xtc_sorting(FILENAME_SPECIALS,'price'); ?></td>
<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_STATUS; ?><?php echo xtc_sorting(FILENAME_SPECIALS,'status'); ?></td>
<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td>
</tr>
in der Datenbankabfrage "$specials_query_raw" am Ende der Datei suchen nach:
and p.products_id = s.products_id
order by pd.products_name";
und ändern in:
and p.products_id = s.products_id
" .$spsort;
In der Datei /admin/includes/functions/html_output.php nach folgendem Block suchen:
case FILENAME_CATEGORIES
: $nav='<br /><div><a href="'.xtc_href_link
(FILENAME_CATEGORIES
,'sorting='.$sort.'&'.xtc_get_all_get_params
(array('action','sorting'))).'">'; $nav.=xtc_image
(DIR_WS_ICONS
. 'sort_down.gif', '', '20' ,'20').'</a>'; $nav.='<a href="'.xtc_href_link
(FILENAME_CATEGORIES
,'sorting='.$sort.'-desc&'.xtc_get_all_get_params
(array('action','sorting'))).'">'; $nav.= xtc_image
(DIR_WS_ICONS
. 'sort_up.gif', '', '20' ,'20').'</a></div>'; break; und danach diesen Block einfügen:
case FILENAME_SPECIALS
: $nav='<br /><div><a href="'.xtc_href_link
(FILENAME_SPECIALS
,'sorting='.$sort.'&'.xtc_get_all_get_params
(array('action','sorting'))).'">'; $nav.=xtc_image
(DIR_WS_ICONS
. 'sort_down.gif', '', '20' ,'20').'</a>'; $nav.='<a href="'.xtc_href_link
(FILENAME_SPECIALS
,'sorting='.$sort.'-desc&'.xtc_get_all_get_params
(array('action','sorting'))).'">'; $nav.= xtc_image
(DIR_WS_ICONS
. 'sort_up.gif', '', '20' ,'20').'</a></div>'; break; Nur mit einer Shopversion < 2.0 gestestet.