Jump to content
xt:Commerce Community Forum

Folgeseiten werden nicht angezeigt 2, 3, 4, 5 usw.?


Recommended Posts

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

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

Irgenwie kann ich die von die vorgeschlagenen Codezeilen in meiner "xtc_show_category.inc.php" nicht finden. :confused:


<?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

Irgenwie kann ich die von die vorgeschlagenen Codezeilen in meiner "xtc_show_category.inc.php" nicht finden. :confused:



// 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

Archived

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

×
  • Create New...