... so, der Lösung wieder einen Schritt weiter:
in der "index.php":
if ($cateqories_products['total']> 0) {
hiermit ersetzen:
if (xtc_count_products_in_category($cPath)> 0) {
Dann in der "/includes/modules/default.php" am Anfang folgendes einfügen:
require_once (DIR_FS_INC.'xtc_get_subcategories.inc.php');
im Bereich der Abfrage
// show the products in a given categorie
in der ELSE Schleife nach //sorting query und //we show them all (ca. Zeile 467) folgendes VOR der $listing_sql einfügen:
$cPathA = explode("_", $cPath); $size = sizeof($cPathA)-1; $subcategories_array = array(); xtc_get_subcategories
($subcategories_array, $cPathA[$size]); $size_sc = sizeof($subcategories_array); //Subcat count $cat_Search = "("; for($i = 0; $i <$size_sc; $i++){ $cat_Search .= "p2c.categories_id = '" . $subcategories_array[$i] . "' or "; } $cat_Search .= "p2c.categories_id = '" . $cPathA[$size] . "'" . ")"; Dann muss noch das listing am Ende geändert werden:
[...]
".$fsk_lock."
and pd.language_id = '".(int) $_SESSION['languages_id']."' and " . $cat_Search . "
".$sorting;
... damit werden ALLE Artikel (auch in den Unterkategorien) angezeigt.
Einen Schönheitsfehler hab ich aber noch:
In der gleichen Datei soll vor
include (DIR_WS_MODULES.FILENAME_PRODUCT_LISTING);
folgendes eingefügt werden:
<!-- BOF: Show subcategories in Product Listing -->
<div><table border="0" width="100%" cellspacing="0" cellpadding="2"><tr>
<?php if ($_GET['manufacturers_id'] == '') { if (isset($cPath)) { if (ereg('_', $cPath)) { $category_links = array_reverse($cPath_array); $cat_to_search = $category_links[0]; } else { $cat_to_search = $cPath; } // check to see if there are deeper categories within the current category $categories_query = xtc_db_query
("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from " . TABLE_CATEGORIES
. " c, " . TABLE_CATEGORIES_DESCRIPTION
. " cd where c.parent_id = '" . $cat_to_search . "' and c.categories_id = cd.categories_id and cd.language_id = '" . $languages_id . "' order by sort_order, cd.categories_name"); if (xtc_db_num_rows
($categories_query)> 0 ) { $rows = 0; while ($categories = xtc_db_fetch_array
($categories_query)) { $rows++; $cPath_new = xtc_get_path
($categories['categories_id']); $width = (int
)(100 / MAX_DISPLAY_CATEGORIES_PER_ROW
) . '%'; echo ' <td align="center" class="smallText" style="width: ' . $width . '" valign="top"><a href="' . xtc_href_link
(FILENAME_DEFAULT
, $cPath_new) . '">' . xtc_image
(DIR_WS_IMAGES
. $categories['categories_image'], $categories['categories_name'], SUBCATEGORY_IMAGE_WIDTH
, SUBCATEGORY_IMAGE_HEIGHT
) . '<br>' . $categories['categories_name'] . '</a></td>' . "\n"; if ((($rows / MAX_DISPLAY_CATEGORIES_PER_ROW
) == floor($rows / MAX_DISPLAY_CATEGORIES_PER_ROW
)) && ($rows != xtc_db_num_rows
($categories_query))) { echo ' </tr>' . "\n"; echo ' <tr>' . "\n"; } } } } } else { echo ""; } ?></tr></table></div>
<!-- EOF: Show subcategories in Product Listing -->
<?phpDamit werden die Unterkategorien über der "product_listing" angezeigt - doch mit dem Code erscheinen diese ganz am Anfang der Seite ...
Kann man das beheben?
[ Für Gäste sind keine Dateianhänge sichtbar ]