Jump to content
xt:Commerce Community Forum

Artikelsortierung N. Hersteller In Kategorie


Guest skalar1

Recommended Posts

Guest skalar1

Guten Abend, XTC Gemeinde,

folgendes Problem:

3 Artikelkategorien, in der untersten erscheinen alle Artikel, in der Auswahlbox kann man jetzt nach Hersteller w?hlen, so dass nur die Artikel dieser Kategorie dieses Herstellers erscheinen, w?hlt (klickt) man jetzt auf den Hersteller landet man allerdings in der ?bergeordneten Kategorie und es werden alle neuen Artikel (box neue Produkte dieser Kategorie gelistet.

In den Artikeln ist der Hersteller nat?rlich hinterlegt, beginne ich die Art.-Auswahl nach Hersteller kann ich auch perfekt ?ber die dann erscheinende Kategorienbox ausw?hlen.

Woran kann denn das liegen? Leider ist der Shop noch nicht online - erst ab Ende kommender Woche. Ich schwanke noch zwischen bytecamp und fairhost24, wen w?rdet Ihr empfehlen?

freundliche Gr??e

Olaf Methling

Vers. XT-Commerce v2.0 RC1.2

Release Datum: 26.04.2004

Link to comment
Share on other sites

Hallo Olaf,

die Hersteller-Box ist genauso programmiert, wie Du es beschreibst.

Gehe in den Adminbereich und aktiviere unter Konfiguration/produktlisten-optionen die Anzeige der Sortierungsfilter, indem Du den Wert auf 1 setzt (irgendwas ganzzahliges gr??er null).

Du erh?lst dann in den product_listings einen weiteren Filter als Dropdown, der genau das macht, was Du m?chtest. Alternativ kannst Du in die Abfrage der Herstellerbox den SQL-Query um den aktuellen cPath erweitern.

Viele Gr??e

Chris

Link to comment
Share on other sites

Guest skalar1

Guten Morgen

Gehe in den Adminbereich und aktiviere unter Konfiguration/produktlisten-optionen die Anzeige der Sortierungsfilter, indem Du den Wert auf 1 setzt (irgendwas ganzzahliges gr??er null).

Der Filter, wie beschrieben ist ja da, dh die Auswahlbox in dem Fall nach Hersteller erscheint. Ich habe den Fehler eingegrenzt:

- navigiere ich in die unterste Kategorie ?ber die mittlere Kategorienauswahl (Standardtemplate) funktioniert die Auswahl nach Hersteller.

- navigiere ich allerdings ?ber die linke Kategorienbox, erscheint auch die Auswahl nach Hersteller, allerdings springt dann die Anzeige eine Kategorie zur?ck und die linke Kategorienbox zeigt die oberste Ebene der Kategorien.

Gr??e

Olaf

Link to comment
Share on other sites

Nur damit wir uns nicht falsch verstehen, es gibt sogesehen ZWEI 'Filter':

1. Die Hersteller-Box

2. ein dyn. Drop-Down in der Produktliste (aktivierbar s.o. configuration_id = 130)

1. wirft ALLE Produkte EINES Herstellers aus und deshalb f?llt die linke Kategorien-Box auf die oberste Ebene zur?ck.

2. sollte Dir die gew?nschte Funktion bieten: alle Artikel eines Herstellers in EINER bestimmten Kategorie

Was meinst Du mit: "navigiere ich in die unterste Kategorie ?ber die mittlere Kategorienauswahl (Standardtemplate) funktioniert die Auswahl nach Hersteller".

Wie filterst Du in diesem Fall nach Hersteller? Also nur ?ber die Navigation an sich, oder ?ber eine Box?

Kann man sich das online mal ansehen?

Link to comment
Share on other sites

Guest skalar1

so, ich habe das Ganze jetzt mal Online gestellt, vielleicht hat jemand eine L?sung.

Hier der Link

kurz noch einmal das Problem:

Artikel ?ber die Kategorienauswahlbox links bis in die unterste Ebene ausw?hlen und dann ?ber die in der Mitte erscheinende Herstellerbox sortieren, dann sollten doch eigentlich nur Artikel des ausgew?hlten Herstellers erscheinen - so ist das jedenfalls bei anderen Shops, aber leider nicht bei mir. :grml:

Gr??e Olaf

Link to comment
Share on other sites

issn BUG in der includes/modules/metatags.php

?ndere die markierten Codezeilen und es l?uft.


<?php

/* -----------------------------------------------------------------------------------------

  $Id: metatags.php,v 1.8 2004/04/26 10:31:17 fanta2k Exp $


  XT-Commerce - community made shopping

  [URL=http://www.xt-commerce.com]http://www.xt-commerce.com[/URL]


  Copyright ? 2003 XT-Commerce

  -----------------------------------------------------------------------------------------

  based on: 

  ? 2003 nextcommerce (metatags.php,v 1.7 2003/08/14); [url]www.nextcommerce.org[/url]


  Released under the GNU General Public License 

  ---------------------------------------------------------------------------------------*/

?>

<meta name="robots" content="<?php echo META_ROBOTS; ?>">

<meta name="language" content="<?php echo $language; ?>">

<meta name="author" content="<?php echo META_AUTHOR; ?>">

<meta name="publisher" content="<?php echo META_PUBLISHER; ?>">

<meta name="company" content="<?php echo META_COMPANY; ?>">

<meta name="page-topic" content="<?php echo META_TOPIC; ?>">

<meta name="reply-to" content="<?php echo META_REPLY_TO; ?>">

<meta name="distribution" content="global">

<meta name="revisit-after" content="<?php echo META_REVISIT_AFTER; ?>">

<?php


if (strstr($PHP_SELF, FILENAME_PRODUCT_INFO)) {

$product_meta_query = xtc_db_query("select pd.products_name,p.products_model,pd.products_meta_title,pd.products_meta_description , pd.products_meta_keywords,pd.products_meta_title from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$_GET['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'");

$product_meta = xtc_db_fetch_array($product_meta_query);

?>

<META NAME="description" CONTENT="<?php echo $product_meta['products_meta_description']; ?>">

<META NAME="keywords" CONTENT="<?php echo $product_meta['products_meta_keywords']; ?>">

<title><?php echo TITLE.' - '.$product_meta['products_meta_title'].' '.$product_meta['products_name'].' '.$product_meta['products_model']; ?></title>

<?php

} else {

if ($_GET['cPath']) {

if (strpos($_GET['cPath'],'_')=='1') {

$arr=explode('_',$_GET['cPath']);

$_cPath=$arr[1];    // **************** <#$cPath durch $_cPath ersetzen

}

$categories_meta_query=xtc_db_query("SELECT categories_meta_keywords,

                      categories_meta_description,

                      categories_meta_title,

                      categories_name

                      FROM ".TABLE_CATEGORIES_DESCRIPTION."

                      WHERE categories_id='".$_cPath."' and // **************** <#$cPath durch $_cPath ersetzen

                      language_id='".$_SESSION['languages_id']."'");

$categories_meta = xtc_db_fetch_array($categories_meta_query);

if ($categories_meta['categories_meta_keywords']=='') {

$categories_meta['categories_meta_keywords']=META_KEYWORDS;

}

if ($categories_meta['categories_meta_description']=='') {

$categories_meta['categories_meta_description']=META_DESCRIPTION;

}

if ($categories_meta['categories_meta_title']=='') {

$categories_meta['categories_meta_title']=$categories_meta['categories_name'];

}

?>

<META NAME="description" CONTENT="<?php echo $categories_meta['categories_meta_description']; ?>">

<META NAME="keywords" CONTENT="<?php echo $categories_meta['categories_meta_keywords']; ?>">

<title><?php echo TITLE.' - '.$categories_meta['categories_meta_title']; ?></title>

<?php

} else {

?>

<META NAME="description" CONTENT="<?php echo META_DESCRIPTION; ?>">

<META NAME="keywords" CONTENT="<?php echo META_KEYWORDS; ?>">

<title><?php echo TITLE; ?></title>

<?php

}

}

?>

Wenigstens ?berschreibt die RC1.2 nicht mehr gleich die $_GET['cPath '], wie seinerzeit die BETA2.

Link to comment
Share on other sites

Sodele, wo wir schon dabei sind, nochmal ein kleiner BUGFIX.

Durch die

$cPath=$arr[1];

Werden falsche Metatags und Seitentitel generiert. Hier der bereinigte Code.

Ersetze Deine

includes/modules/metatags.php

durch folgenden Code:

<?php

/* -----------------------------------------------------------------------------------------

$Id: metatags.php,v 1.8 2004/04/26 10:31:17 fanta2k Exp $

XT-Commerce - community made shopping

http://www.xt-commerce.com

Copyright © 2003 XT-Commerce

-----------------------------------------------------------------------------------------

based on:

© 2003 nextcommerce (metatags.php,v 1.7 2003/08/14); www.nextcommerce.org

Released under the GNU General Public License

---------------------------------------------------------------------------------------*/

?>

<meta name="robots" content="<?php echo META_ROBOTS; ?>">

<meta name="language" content="<?php echo $language; ?>">

<meta name="author" content="<?php echo META_AUTHOR; ?>">

<meta name="publisher" content="<?php echo META_PUBLISHER; ?>">

<meta name="company" content="<?php echo META_COMPANY; ?>">

<meta name="page-topic" content="<?php echo META_TOPIC; ?>">

<meta name="reply-to" content="<?php echo META_REPLY_TO; ?>">

<meta name="distribution" content="global">

<meta name="revisit-after" content="<?php echo META_REVISIT_AFTER; ?>">

<?php

if (strstr($PHP_SELF, FILENAME_PRODUCT_INFO)) {

$product_meta_query = xtc_db_query("select pd.products_name,p.products_model,pd.products_meta_title,pd.products_meta_description , pd.products_meta_keywords,pd.products_meta_title from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$_GET['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'");

$product_meta = xtc_db_fetch_array($product_meta_query);

?>

<META NAME="description" CONTENT="<?php echo $product_meta['products_meta_description']; ?>">

<META NAME="keywords" CONTENT="<?php echo $product_meta['products_meta_keywords']; ?>">

<title><?php echo TITLE.' - '.$product_meta['products_meta_title'].' '.$product_meta['products_name'].' '.$product_meta['products_model']; ?></title>

<?php

} else {

if ($_GET['cPath']) {

if (strpos($_GET['cPath'],'_')) {

$arr=explode('_',$_GET['cPath']);

$metaID=$arr[sizeof($arr)-1];

} else $metaID=$_GET['cPath'];

$categories_meta_query=xtc_db_query("SELECT categories_meta_keywords,

categories_meta_description,

categories_meta_title,

categories_name

FROM ".TABLE_CATEGORIES_DESCRIPTION."

WHERE categories_id='".$metaID."' and

language_id='".$_SESSION['languages_id']."'");

$categories_meta = xtc_db_fetch_array($categories_meta_query);

if ($categories_meta['categories_meta_keywords']=='') {

$categories_meta['categories_meta_keywords']=META_KEYWORDS;

}

if ($categories_meta['categories_meta_description']=='') {

$categories_meta['categories_meta_description']=META_DESCRIPTION;

}

if ($categories_meta['categories_meta_title']=='') {

$categories_meta['categories_meta_title']=$categories_meta['categories_name'];

}

?>

<META NAME="description" CONTENT="<?php echo $categories_meta['categories_meta_description']; ?>">

<META NAME="keywords" CONTENT="<?php echo $categories_meta['categories_meta_keywords']; ?>">

<title><?php echo TITLE.' - '.$categories_meta['categories_meta_title']; ?></title>

<?php

} else {

?>

<META NAME="description" CONTENT="<?php echo META_DESCRIPTION; ?>">

<META NAME="keywords" CONTENT="<?php echo META_KEYWORDS; ?>">

<title><?php echo TITLE; ?></title>

<?php

}

}

?>

Link to comment
Share on other sites

Guest HHGAG

ich glaube beim experementieren habt ihr ne } unterschlagen :)

if ($_GET['cPath']) {

 if (strpos($_GET['cPath'],'_')) {

 ? ? ?$arr=explode('_',$_GET['cPath']);

 ?$metaID=(int)$arr[sizeof($arr)-1];

 ?} else $metaID=(int)$_GET['cPath'];

} <--#DER WURDE BEI KHAN_THEP unterschlagen

sollte es richtig sein :)

Link to comment
Share on other sites

Guest skalar1

Hallo, erst einmal ......

if ($_GET['cPath']) {

if (strpos($_GET['cPath'],'_')) {

$arr=explode('_',$_GET['cPath']);

$metaID=(int)$arr[sizeof($arr)-1];

} else $metaID=(int)$_GET['cPath'];

} <--#DER WURDE BEI KHAN_THEP unterschlagen

setze ich den "unterschlagenen" erhalte ich ein:

Parse error: parse error in /modules/metatags.php on line 63

... ohne funktioniert, ich hoffe richtig

Gru? Olaf

Link to comment
Share on other sites

Zusammen bekommen wir das schon hin!!!!!!!!!!!!!!!!!! :z:

Wichtig ist doch nur, da? die User bestehender Shops die metatags.php jetzt updaten.

Ich meine, die alte l?scht nicht nur partiell den wichtigen $cPath, was Folgefehler wie von skalar1 beschrieben nach sich zieht. Es werden ja auch Seitentitel und Metatags falsch generiert bwz. nicht im Sinne des Erfinders ausgegeben. Die oben besprochene (int) Problematik, die ein Sicherheitsloch bedeutet ist ja in der bisherigen Version nicht gefixt.

Also: updaten!

Link to comment
Share on other sites

Archived

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

×
  • Create New...