mathias9999 Posted March 12, 2008 Report Share Posted March 12, 2008 In manchen Kategorien sind so viele Produkte das automatisch Folgeseiten generiert werden. Leider Funktionieren diese nicht.http://www.toms-angelwelt.de/index.php/cat/c28_Nutrabaits-Fischlockf-.html//page//page/2 Ich habe Festgestellt das es an der Funktion Sumaurls liegt. Wenn ich diese deaktiviere kann ich die Links anklicken und die Seite wird mir wie gewünscht angezeigt. Mir wäre es schon wichtig das Sumaurls aktiviert ist. Ich verwende dafür folgendes Script: xtc_href_link.inc.php <?php /* ----------------------------------------------------------------------------------------- $Id: xtc_href_link.inc.php 1521 2006-07-07 09:40:06Z matthias $ 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(html_output.php,v 1.52 2003/03/19); www.oscommerce.com (c) 2003 nextcommerce (xtc_href_link.inc.php,v 1.3 2003/08/13); www.nextcommerce.org Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ // The HTML href link wrapper function function xtc_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) { global $request_type, $session_started, $http_domain, $https_domain, $truncate_session_id; /* if (!xtc_not_null($page)) { die('</td></tr></table></td></tr></table><br /><br /><font color="#ff0000"><b>Error!</b></font><br /><br /><b>Unable to determine the page link!<br /><br />'); } */ if (!xtc_not_null($page)) { $page = basename($_SERVER["SCRIPT_NAME"]); } if ($connection == 'NONSSL') { $link = HTTP_SERVER.DIR_WS_CATALOG; } elseif ($connection == 'SSL') { if (ENABLE_SSL == true) { $link = HTTPS_SERVER.DIR_WS_CATALOG; } else { $link = HTTP_SERVER.DIR_WS_CATALOG; } } else { die('</td></tr></table></td></tr></table><br /><br /><font color="#ff0000"><b>Error!</b></font><br /><br /><b>Unable to determine connection method on a link!<br /><br />Known methods: NONSSL SSL</b><br /><br />'); } if (xtc_not_null($parameters)) { $link .= $page.'?'.$parameters; $separator = '&'; } else { $link .= $page; $separator = '?'; } while ((substr($link, -1) == '&') || (substr($link, -1) == '?')) $link = substr($link, 0, -1); // Add the session ID when moving from different HTTP and HTTPS servers, or when SID is defined if (($add_session_id == true) && ($session_started == true) && (SESSION_FORCE_COOKIE_USE == 'False')) { if (defined('SID') && xtc_not_null(SID)) { $sid = SID; } elseif ((($request_type == 'NONSSL') && ($connection == 'SSL') && (ENABLE_SSL == true)) || (($request_type == 'SSL') && ($connection == 'NONSSL'))) { if ($http_domain != $https_domain) { $sid = session_name().'='.session_id(); } } } // remove session if useragent is a known Spider if ($truncate_session_id) $sid = NULL; if (isset ($sid)) { $link .= $separator.$sid; } if ((SEARCH_ENGINE_FRIENDLY_URLS == 'true') && ($search_engine_safe == true)) { while (strstr($link, '&&')) $link = str_replace('&&', '&', $link); $link = str_replace('&', '/', $link); $link = str_replace('?', '/', $link); $link = str_replace('&', '/', $link); $link = str_replace('=', '/', $link); $separator = '?'; } return $link; } function xtc_href_link_admin($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) { global $request_type, $session_started, $http_domain, $https_domain, $truncate_session_id; if (!xtc_not_null($page)) { die('</td></tr></table></td></tr></table><br /><br /><font color="#ff0000"><b>Error!</b></font><br /><br /><b>Unable to determine the page link!<br /><br />'); } if ($connection == 'NONSSL') { $link = HTTP_SERVER.DIR_WS_CATALOG; } elseif ($connection == 'SSL') { if (ENABLE_SSL == true) { $link = HTTPS_SERVER.DIR_WS_CATALOG; } else { $link = HTTP_SERVER.DIR_WS_CATALOG; } } else { die('</td></tr></table></td></tr></table><br /><br /><font color="#ff0000"><b>Error!</b></font><br /><br /><b>Unable to determine connection method on a link!<br /><br />Known methods: NONSSL SSL</b><br /><br />'); } if (xtc_not_null($parameters)) { $link .= $page.'?'.$parameters; $separator = '&'; } else { $link .= $page; $separator = '?'; } while ((substr($link, -1) == '&') || (substr($link, -1) == '?')) $link = substr($link, 0, -1); // Add the session ID when moving from different HTTP and HTTPS servers, or when SID is defined if (($add_session_id == true) && ($session_started == true) && (SESSION_FORCE_COOKIE_USE == 'False')) { if (defined('SID') && xtc_not_null(SID)) { $sid = SID; } elseif ((($request_type == 'NONSSL') && ($connection == 'SSL') && (ENABLE_SSL == true)) || (($request_type == 'SSL') && ($connection == 'NONSSL'))) { if ($http_domain != $https_domain) { $sid = session_name().'='.session_id(); } } } if ($truncate_session_id) $sid = NULL; if (isset ($sid)) { $link .= $separator.$sid; } return $link; } ?> Link to comment Share on other sites More sharing options...
Vio Posted March 13, 2008 Report Share Posted March 13, 2008 Hallo, probier mal dies: in der xtc_show_category.inc.php suchst Du: if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') und ersetzt die folgende Zeile $cPath_new.='&category='.xtc_cleanName($foo[$counter]['name']); $categories_string .= xtc_href_link(FILENAME_DEFAULT, $cPath_new); $categories_string .= '">';[/php]mit: [php] $cPath_new=xtc_category_link($counter,$foo[$counter]['name']); $categories_string .= xtc_href_link(FILENAME_DEFAULT, $cPath_new); $categories_string .= '">';Das erste ist ein Überbleibsel aus einem 303 Template, was nicht 100%tig angepasst war. Ich bin mir aber nicht sicher, ob das bei Dir helfen wird. Grüße Vio Link to comment Share on other sites More sharing options...
mathias9999 Posted March 14, 2008 Author Report Share Posted March 14, 2008 Irgenwie kann ich die von die vorgeschlagenen Codezeilen in meiner "xtc_show_category.inc.php" nicht finden. <?php /* ----------------------------------------------------------------------------------------- $Id: xtc_show_category.inc.php 1262 2006-10-27 10:00:32Z mz $ YAML für xt:Commerce - Tabellenfreie Templates http://yaml.t3net.de Copyright (c) 2007 Björn Teßmann for Zerosoftware GbR zerosoft.de ----------------------------------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce(categories.php,v 1.23 2002/11/12); www.oscommerce.com (c) 2003 nextcommerce (xtc_show_category.inc.php,v 1.4 2003/08/13); www.nextcommerce.org (c) 2003-2007 XT-Commerce Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ function xtc_show_category($counter, $levelNow = -1 , $getPrev = "-1" ) { global $foo, $categories_string, $id; // Kategoriennamen umwandeln, so dass eine id-Zuweisung für die CSS-Formatierung möglich wird // Thanks to Reinhard Hiebl (www.joomla-template-yaml.de/) // Umlaute Ersetzen $getId = $foo[$counter]['name'] ; $searchInId = array("ä" , "ö", "ü", "ß", "Ä", "Ö", "Ü", " ",); $replaceInId = array("ae" , "oe", "ue", "ss", "Ae", "Oe", "Ue", ""); $getId = str_replace($searchInId, $replaceInId, $getId); // Sonderzeichen entfernen $getId = preg_replace("/[^a-zA-Z0-9_]/" , "" , $getId); // Alles in klein $getId = strtolower($getId); // Wenn das erste Element wird als Ebene -1 zugewiesen if ($getPrev == '-1') { $foo[$getPrev]['level'] = "-1"; } // Nächste ID wird als Variable definiert $getNext = $foo[$counter]['next_id']; // Wenn das erste Element wird die Body-Box und eine float-Box geöffnet if ($foo[$counter]['level']=='') { if (strlen($categories_string)=='0') { $categories_string .= ''; } } // Öffne Liste wenn Elementebene des vorherigen Elements kleiner dem aktuellen ist if ($foo[$getPrev]['level'] < $foo[$counter]['level']) { $categories_string .= '<ul>'; } // Überprüfung ob Elemnt aktiv, sowie öffnen des Listenelements if ( ($id) && (in_array($counter, $id)) ) { $categories_string .= '<li class="activeCat" id="cid'.$getId.'">'; } else { $categories_string .= '<li id="cid'.$getId.'">'; } // Linkausgabe $categories_string .= '<a href="'; $cPath_new=xtc_category_link($counter,$foo[$counter]['name']); $categories_string .= xtc_href_link(FILENAME_DEFAULT, $cPath_new); $categories_string .= '">'; $categories_string .= $foo[$counter]['name'] ; // Gibt die Anzahl der Produkte in der Kategorie aus (wenn aktiviert) if (SHOW_COUNTS == 'true') { $products_in_category = xtc_count_products_in_category($counter); if ($products_in_category > 0) { $categories_string .= ' (' . $products_in_category . ')'; } } // Überprüfung ob Elemnt aktiv if ( ($id) && (in_array($counter, $id)) ) { // Wenn aktuelle Elementebene kleiner als die nächste, schließe Listenelement, sowie Beenden des Links if ($foo[$counter]['level'] < $foo[$getNext]['level']) { $categories_string .= '</a>'; } else { $categories_string .= '</a></li>'; } } else { if ($foo[$counter]['level'] < $foo[$getNext]['level']) { $categories_string .= '</a>'; } else { $categories_string .= '</a></li>'; } } // Wenn nächste Elementebene kleiner ist als die aktuelle, soviele Schließtags wie Differenz ist if ($foo[$getNext]['level'] < $foo[$counter]['level'] ) { $cul = $foo[$counter]['level'] - $foo[$getNext]['level'] ; for ($iul = 1; $iul <= $cul ; $iul++ ) { $categories_string .= '</ul></li>'; } } // Wenn weitere Elemente vorhanden sind, rufe Funktion mit nächstem Element auf, andernfalls schließe Ebene 1 und Boxen if ($foo[$counter]['next_id']) { xtc_show_category($foo[$counter]['next_id'], $foo[$counter]['level'], $counter ); } else { $categories_string .= '</ul>'; } } ?> [/PHP] Link to comment Share on other sites More sharing options...
Vio Posted March 14, 2008 Report Share Posted March 14, 2008 Irgenwie kann ich die von die vorgeschlagenen Codezeilen in meiner "xtc_show_category.inc.php" nicht finden. // Linkausgabe $categories_string .= '<a href="'; $cPath_new=xtc_category_link($counter,$foo[$counter]['name']); $categories_string .= xtc_href_link(FILENAME_DEFAULT, $cPath_new); $categories_string .= '">'; $categories_string .= $foo[$counter]['name'] ; [/php] Hallo, ich schon;). Aber damit hat sich mein Tipp leider auch erledigt. Da Du ein yaml-Template verwendest, frag da doch mal nach. Grüße Vio Link to comment Share on other sites More sharing options...
mathias9999 Posted March 14, 2008 Author Report Share Posted March 14, 2008 Ja die Zeilen habe ich habe ich auch gefunden aber die Zeile if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') [/PHP] nicht. Im Yaml Forum habe ich schon nachgefragt, da wurde mir gesagt das es nichts mit dem Template zu tun hat.http://forum.yaml.de/index.php?topic=4837.0 Man das nervt mich ganz schön. Ich weis irgendwie nicht weiter. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.