Jump to content
xt:Commerce Community Forum

Fehler in product_listing ?


Deadblow

Recommended Posts

Hallo,

habe einen Fehler gefunden und weiß nicht, ob das jetzt durch mich ausgelöst wurde, da ich etwas am Programm-Code geändert habe oder ob das auch bei euch so ist.

Folgende Situation:

Gehe im Kunden-Bereich auf eine Kategorie, so dass mir dann alle Produkte, die sich in dieser befinden aufgelistet werden.

Bei mir werden 20 pro Seite gezeigt, so dass ich dann unten die Navigation zu den anderen Seiten habe, was so auch funktioniert!

Jetzt kommt das Problem:

Ich lasse in dieser Kategorie nur die Produkte eines bestimmten Händlers anzeigen. Wenn jetzt die Anzahl der Produkte höher als 20 ist und ich via Navigation auf Seite 2 möchte, werde ich wieder auf die Startseite des Shoppes geschickt.

Parameter sind NUR filter_id = 11 und page = 2.

Die anderen Parameter für die erste Seite stimmen noch, sprich:

cPath, sort, sid sind noch übergeben worden.

Nehme ich also den Link zur ersten Seite und ersetze den Parameter page=1 durch page=2 komme ich auch auf die zweite Seite.

Ist das bei euch auch so?

Link to comment
Share on other sites

Hallo Deadblow,

das war bei mir auch so!

ich hab den bug behoben :)

inc/xtc_get_all_get_params.inc.php


<?php
/* -----------------------------------------------------------------------------------------
$Id: xtc_get_all_get_params.inc.php 1310 2005-10-17 10:06:32Z mz $

XT-Commerce - community made shopping
http://www.xt-commerce.com

Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(general.php,v 1.225 2003/05/29); www.oscommerce.com
(c) 2003 nextcommerce (xtc_get_all_get_params.inc.php,v 1.3 2003/08/13); www.nextcommerce.org

Released under the GNU General Public License
---------------------------------------------------------------------------------------*/

function xtc_get_all_get_params($exclude_array = '') {
global $InputFilter;

if (!is_array($exclude_array)) $exclude_array = array();

$get_url = '';
if (is_array($_GET) && (sizeof($_GET) > 0)) {
reset($_GET);
while (list($key, $value) = each($_GET)) {
// if ( (strlen($value) > 0) && ($key != xtc_session_name()) && ($key != 'error') && ($key != 'cPath') && (!in_array($key, $exclude_array)) && ($key != 'x') && ($key != 'y') ) {
if ( (strlen($value) > 0) && ($key != xtc_session_name()) && ($key != 'error') && (!in_array($key, $exclude_array)) && ($key != 'x') && ($key != 'y') ) {
$key =rawurlencode(stripslashes($key));
$value=rawurlencode(stripslashes($value));
$get_url .= $key . '=' . $value . '&';
}
}
}

return $get_url;
}
?>
[/PHP]

die fehlerhafte zeile hab ich als kommentar drin gelassen

Gruß

TechWay

Link to comment
Share on other sites

Hi,

habe, da ich das gleiche Problem habe, den code mal ausprobiert. Leider kommt folgende Fehlermeldung (3.0.4. sp1)

Warning: session_start(): cannot send session cookie - headers already sent by (output started at /data/www/www.xxxx.at/shop/inc/xtc_get_all_get_params.inc.php:38) in /data/www/www.xxx.at/shop/includes/application_top.php on line 281

Bei mir funktioniert das geänderte script von techway leider nicht. Vielleicht eine Korrektur ??? (Bin leider kein Programmierer und kenne mich mit php nicht aus).

Danke LG

Conny

Link to comment
Share on other sites

Hi,

sorry, aber wenn ich den code mit copy & paste in Phase5 hineinkopiere, dann steht eine Leerzeile (bzw. ein break) zwischen den beiden letzten codes.

}

?>

Tut mir leid, habe das 1:1 übernommen. Wahrscheinlich liegt es am Editor. Die Umsetzung ist bei den verschiedenen Editoren leider nicht immer gleich. Hauptsache das Script geht jetzt und falls ein anderer (Dummy)-User wie ich das gleiche Problem hat, kann er im Thread nachlesen...

Danke

LG

Conny

Link to comment
Share on other sites

  • 3 weeks later...

der fehler "header already send" kommt wenn irgenwelche zeichen ausserhalb des <?php ... ?> stehen.

(da es dann zu einer html ausgabe kommt)

Die Zeichen oder breaks zwischen

}

?>

sind völlig egal

im code da oben ist am ende ein leerzeichen

hinter ?>

wenn man das per copy & Paste rüberzieht ist uU das leerzeichen mit dabei, dann kommt es zu dem headerfehler.

Gruß

heiko

Ach, ja Vielen Dank,

ich hab den Code vor einiger Zeit auch schon genutzt.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...