#1636 closed Aufgabe (fixed)
Auswahl List- und Box-Ansicht unabhängig von PRODUCT_LIST_FILTER
| Reported by: | noRiddle | Owned by: | somebody |
|---|---|---|---|
| Priority: | normal | Milestone: | modified-shop-2.0.5.0 |
| Component: | Shop | Version: | 2.0.4.2 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
Momentan wird das Erscheinen der Umschalt-Links für Listen- oder Box-Ansicht im Produkt-Listing abhängig von der Einstellung PRODUCT_LIST_FILTER in der Konfiguration gemacht (/includes/modules/listing_filter.php).
Das finde ich nicht richtig so. Die genannten Links haben nicht wirklich etwas mit den Filtern zu tun und sollten unabhängig von diesen anzeigbar sein. Das würde die Flexibilität erhöhen.
Gruß,
noRiddle
Attachments (0)
Change History (9)
comment:1 by , 7 years ago
comment:2 by , 7 years ago
| Milestone: | → modified-shop-2.0.5.0 |
|---|
comment:5 by , 6 years ago
Im Zusammenhang mit diesem Ticket sehe ich im SVN den Fix, daß folgender Code aus der Condition
if (PRODUCT_LIST_FILTER == 'true') {
heraus genommen wurde:
$filter_smarty->assign('language', $_SESSION['language']);
$filter_smarty->assign('LINK_DISPLAY_LIST', xtc_href_link(basename($PHP_SELF), xtc_get_all_get_params(array('show')).'show=list', 'NONSSL'));
$filter_smarty->assign('LINK_DISPLAY_BOX', xtc_href_link(basename($PHP_SELF), xtc_get_all_get_params(array('show')).'show=box', 'NONSSL'));
$filter_smarty->assign('LINK_FILTER_RESET', xtc_href_link(basename($PHP_SELF), xtc_get_all_get_params(array('filter', 'show', 'filter_id')), 'NONSSL'));
Die letzte Zeile sollte jedoch innerhalb der Condition stehen.
Ansonsten würde der Filter-Reset auch angezeigt wenn man die Filter nicht anzeigen läßt.
Der Reset setzt aber ja DISPLAY_LIST oder DISPLAY_BOX nicht zurück, weil die Werte dafür auch in der Session stehen, somit das Entfernen der GET-Parameter in der URL daran nichts ändert
und somit die Ansicht BOX oder LIST nicht zurückgesetzt wird.
In dem Zusammenhang würde ich übrigens aus Performance-Gründen auch das
{if count($FILTER_TAG) > 0}
aus dem Template entfernen und statt dessen das Smarty im PHP conditional definieren, sodaß im Template ein
{if $FILTER_TAG}
oder
{if isset($FILTER_TAG)}
reichen würde.
Gruß,
noRiddle
comment:6 by , 6 years ago
Wenn an /includes/modules/listing_filter.php ohnehin gearbeitet wird, gibt es in diesem Zusammenhang auch noch dieses neue Ticket #1671.
Gruß,
noRiddle
comment:7 by , 6 years ago
| Resolution: | fixed |
|---|---|
| Status: | closed → reopened |
comment:9 by , 6 years ago
| Reporter: | changed from to |
|---|

Ja da gebe ich dir Recht und wenn ich das richtig sehe, dann hält sich der Aufwand stark in Grenzen. Es sind lediglich die folgenden Code-Zeilen aus der Klammer if (PRODUCT_LIST_FILTER == 'true') { ... } zu ziehen:
$filter_smarty->assign('language', $_SESSION['language']); $filter_smarty->assign('LINK_DISPLAY_LIST', xtc_href_link(basename($PHP_SELF), xtc_get_all_get_params(array('show')).'show=list', 'NONSSL')); $filter_smarty->assign('LINK_DISPLAY_BOX', xtc_href_link(basename($PHP_SELF), xtc_get_all_get_params(array('show')).'show=box', 'NONSSL')); $filter_smarty->caching = 0; if (is_file(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/listing_filter.html')) { $module_filter = $filter_smarty->fetch(CURRENT_TEMPLATE.'/module/listing_filter.html'); }