Jump to content
xt:Commerce Community Forum

gunnART Advanced Show Category - verbesserte Kategorien-Navigation


pufaxx

Recommended Posts

... tja, ähm - irgendwie mal ein paar Aufträge gehabt, bei denen ich die System-Dateien nicht "anfassen" sollte - und einfach mal geguckt, wie weit man mit den $GLOBALS kommt. Oder mit $this - Und damit kann man wirklich Einiges anstellen.

"Nur die oberste Subkategorie" - Da weiß ich jetzt nicht ganz, was Du meinst ...?

Wenn Du die Position im "Kategorien-Pfad" kennst, ist das doch an sich kein Problem ...?

Link to comment
Share on other sites

... tja, ähm - irgendwie mal ein paar Aufträge gehabt, bei denen ich die System-Dateien nicht "anfassen" sollte - und einfach mal geguckt, wie weit man mit den $GLOBALS kommt. Oder mit $this - Und damit kann man wirklich Einiges anstellen.

"Nur die oberste Subkategorie" - Da weiß ich jetzt nicht ganz, was Du meinst ...?

Wenn Du die Position im "Kategorien-Pfad" kennst, ist das doch an sich kein Problem ...?

Ja da wäre nicht schlecht, wenn du mir so paar tricks oder möglichkeiten Zeigst... wäre dir sehr dankbar, wenn ich was von dir lernen könnte...

Nun ja ich möchte sowas hier...

Menue1

----Submenue1.

--------SubSubmenue1.0.0

----Submenue1.1

--------SubSubmenue1.1.0

--------SubSubmenue1.1.1

----Submenue1.2

Menue2

----Submenue2.0

--------SubSubmenue2.0.0

--------SubSubmenue2.0.1

--------SubSubmenue2.0.2

----Submenue2.1

Menue3

----Submenue3.0

--------SUbSubmenue3.0.0

--------SubSubmenue3.0.1

--------SubSubmenue3.0.2

----Submenue3.1

--------SUbSubmenue3.1.0

--------SubSubmenue3.1.1

--------SubSubmenue3.1.2

----Submenue3.2

--------SUbSubmenue3.2.0

--------SubSubmenue3.21

--------SubSubmenue3.2.2

----Submenue3.3

--------SUbSubmenue3.3.0

--------SubSubmenue3.3.1

--------SubSubmenue3.3.2

So, wenn wir jetzt ungefähr so eine Kategorie Strucktur haben wie oben - möchte ich nur die

Submenue1.0

Submenue1.1

Submenue1.2

Submenue2.0

Submenue2.1

Submenue3.0

Submenue3.1

Submenue3.2

Submenue3.3

auslesen.

Aber es so dann, dass es geordnet sind auf Menue1, Menue2, Menue3.

Das ist doch eigentlich möglich aber irgendwo mache ich ein Denkfehler und weis nicht wie ich das bewerkstelligen könnte.

Würde mich sehr freuen, wenn du mir dabei helfen könntest.

MfG

Devran

Link to comment
Share on other sites

Ah ... fein.

Ich wollte ja noch eine Option "MinLevel" einrichten, so dass man eben erst AB Level soundso eine Kategorie sieht (für Struktur "oben Reiter, Links ausklapp-Navi") .... Aber irgendwie hab ich's nie 100%ig korrekt hinbekommen, daraus dann wieder eine "hierarchische" Liste zu machen.

...

Link to comment
Share on other sites

Hehe, ich glaube wir denken gleich, denn sowas hatte ich auch benötigt.

Ich habe es einfach mit einer If abfrage abgeklärt und es funktioniert.

Musste aber nur den hauptkategorie deaktivieren.

So wie die meisten hier das machen über CSS würde ich nicht empfehlen.

MfG

Devran

Link to comment
Share on other sites

Sag mal hast du einen Plan wie ich auf der Startseite von jedem kategorie jeweils getrennte artikeln anzeigen lassen kann ???

Also das normale art funktioniert bei mir aber möchte das unter hauptkategorien unterteilen.

Wie mache ich das eigentlich ???

Würde mich auf jede Hilfe freuen !!!

MfG

Devran

Link to comment
Share on other sites

  • 3 weeks later...

Hallo,

ich habe auch mal wieder eine Frage, ich habe folgenden Code in der xtc_show_category.inc.php:

function xtc_show_category($counter) {


global $foo, $categories_string, $id;



//start the loop

for ($a=0; $a<$foo[$counter]['level']; $a++) 

    {}



if ($foo[$counter]['level']=='') //maincat

    {

    if (strlen($categories_string)=='0') 

        {

        $categories_string .='<ul class="navilist">';

        } 

    $categories_string .='

        <li class="maincat';

    if (xtc_has_category_subcategories($counter))

        {

        $categories_string .= ' submenue';

        }

    $categories_string .= '"><a class="';

    if ( ($id) && (in_array($counter, $id)) ) 

        {

        $categories_string .= 'gewaehlt';

        }

    $categories_string .= '" href="';

    } 


else //subcat

    {

    $categories_string .= '

        <li class="subcat level'.$foo[$counter]['level'];

    if (xtc_has_category_subcategories($counter))

        {

        $categories_string .= ' submenue'.$foo[$counter]['level'];

        }

    $categories_string .= '"><a class="';

    if ( ($id) && (in_array($counter, $id)) ) 

        {

        $categories_string .= 'gewaehlt';

        }

    $categories_string .= '" 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'];


if (SHOW_COUNTS == 'true') 

    {

    $products_in_category = xtc_count_products_in_category($counter);

    if ($products_in_category > 0) 

        {

        $categories_string .= ' <span class="catcount">(' . $products_in_category . ')</span>';

        }

    }


$categories_string .= '</a></li>';


if ($foo[$counter]['next_id']) 

    {

    xtc_show_category($foo[$counter]['next_id']);

    } 

else 

    {

    $categories_string .= '

    </ul>';

    }

}

Irgendwie schnalle ich nicht wie ich nun "navilist", "maincat", "submenue" und so weiter in der stylesheet.css nutze. Alles was ich bisher genommen hatte brachte keine Änderung.

Kann mir da mal jemand auf die Sprünge helfen?

Gruß gimli

Link to comment
Share on other sites

  • 4 weeks later...

Hehe, ich glaube wir denken gleich, denn sowas hatte ich auch benötigt.

Ich habe es einfach mit einer If abfrage abgeklärt und es funktioniert.

Musste aber nur den hauptkategorie deaktivieren.

So wie die meisten hier das machen über CSS würde ich nicht empfehlen.

MfG

Devran

Hallo Devran,

wie hast Du das mit der If Abfrage gemacht? :confused:

Über den Code oder sonstige Hilfestellung würde ich freuen.

Lars

Link to comment
Share on other sites

  • 3 weeks later...

Na wer sagts den. Ich suche schon die ganze zeit was wo ich die Anzeige der Unterkategorien komplett abschalten kann. Also für mich

$MaxLevel = 1;
$HideEmpty = false;
$ShowAktSub = false;[/PHP]

*freu.

Und da hier lauter schlaue Köpfe sind könnt ihr mir vieleicht bei einem Problem helfen.

Ich habe die Kategorie Hosen wo eben alle Hosen rein kommen.

Nun möchte ich eine Kategorie Farben anlegen wo halt als Unterkategorie blau, schwarz, rot rein soll.

Klickt man nun auf rot sollen alle roten hosen angezeigt werden. Kein Problem, die roten Hosen in die Kat-Hosen stopfen und in rot verlinken.

Aber, und nun kommts:

Ich möchte unter den roten Hosen in der Kategorie rot, Hosen auflisten die rot mit drin haben.

Und jetzt bitte nicht mit Steinen werfen *duck

Link to comment
Share on other sites

Nönö, hier schmeißt keiner mit Steinen oder Schweinen (http://www.gunnart.de/archiv/gasthaus.gif) - aber wie wäre es mit Hosen?

:-)

Ich weiß jetzt nicht, ob ich Dein Problem richtig verstanden habe - Ich versuch's mal mit meinen Worten: Du brauchst also einen "zweiten Zugangsweg" zu Deinen Produkten? Also nicht nur "Verkaufskategorien" (wie "Oberbekleidung, volle Beinlänge, halbe Beinlänge") - sondern zusätzlich noch eine Möglichkeit, Deine Produkte in "Eigenschaften" (Farbe, Material, weißnichwas) zu sortieren?

Das ist nicht so ganz ohne, denn xt:C kann "von Haus aus" tatsächlich nur "Kategorien" und "Hersteller" ... und weil ja übermorgen-gestern-irgendwann ja vielleicht die neue xt:C-Version herauskommt, würde ich empfehlen nach einer Lösung zu suchen, die ohne Änderungen an System oder Artikeldatenbank auskommt.

Das funktioniert sogar - Und zwar so: Man muss die "Attribute/Optionen" (die für unterschiedliche Produkte gleicher Art gedacht sind) wie "Soft-Attributes" einsetzen.

Was ich damit meine: Das Gegenteil von "Hard-Attributes".

Tolle Erklärung, ich weiß. Du schwarz? Nein, Hose schwarz. Eine Hose schwarz ist ein anderer Gegenstand als Hose weiß. (Zwei Eigenschaften, zwei Gegenstände ... "Hard-Attribute").

Man kann's aber auch lassen.

Du weiß? Artikel anlegen und ihm ein paar weiche Eigenschaften "geben", aus einer Hose weiß, Größe 34, Marke Levi's, Material Baumwolle werden keine vier Hosen, bloß weil sie vier Eigenschaften hat ... Dabei also keine eigenen Bestellnummern oder Warenbestände für diese Eigenschaften eintragen.

Die Attribut-Geschichte von xt:Commerce ist ursprünglich für die erste Variante der "harten" Eigenschaften gedacht. Daher kann man die unterschiedlichen Ausführungen eines Artikels bei Bedarf auch mit einem eigenen Warenbestand sowie auch mit eigenen Artikelnummern versehen.

Aber wie gesagt - Man kann's ja auch lassen. Und das ist beinahe schon das, was Du brauchst. Du kannst Deinen Artikeln also Eigenschaften zuordnen, die nicht "kaufbar" sind (weil sie ja weder Artikelnummer noch einen Bestand größer Null haben) - und keine "wirklichen Varianten" haben - aber dennoch datenbankmäßig mit der jeweiligen "Products-ID" verbunden sind.

Auf diese Weise kannst Du alle möglichen Sachen, die vorher NICHT zusammengepasst haben, über ihre "Optionen"/"Ausführungen"/"Varianten" (wie auch immer man das nennen will) sortieren, miteinander gruppieren, filtern ...

Bleibt noch das Navigationsproblem, das zu lösen wäre - das geht dann aber über die Kategorien-Navi ein wenig hinaus ...

Link to comment
Share on other sites

  • 2 weeks later...

Ein wirklich tolles und gut durchdachtes Menü hast da gemacht, hätte ich das nur mal früher entdeckt :mad:

Super leicht zu installieren und einzustellen, nur mit eins komme ich nicht ganz zurecht. Folgender CSS Code

#CatNavi  { margin: 0; padding-left: 6px; }

#CatNavi ul { margin: 0; padding-left: 1px; }

#CatNavi li { /*display: inline;*/list-style-type:none; }

#CatNavi a { /*display: block;*/ margin: 0; padding: 2px }

#CatNavi .CatLevel1 a { visibility: hidden; list-style-type: square; }

#CatNavi .CatLevel2 {background-image: url(img/bullet_info.png); background-repeat:no-repeat; background-position:0px 0px; }

#CatNavi .CatLevel2 a { visibility: visible;  font-weight: bold; padding-left:15px; }


#CatNavi .CatLevel2 a:hover { color: #333333; cursor: text; text-decoration:none; }

#CatNavi .CatLevel2 li {  }

#CatNavi .CatLevel2 ul { }

#CatNavi .CatLevel2 SubMenue li { }

#CatNavi .CatLevel3 {background-image: url(img/bullet3.gif); background-repeat:no-repeat; background-position:12px 2px; }

#CatNavi .CatLevel3 li { list-style-type: none; list-style-image: none;  font-weight:normal; }

#CatNavi .CatLevel3 a { font-weight: normal; padding-left:25px;}

#CatNavi .CatLevel3 a:hover { text-decoration: underline; cursor: pointer; color: maroon; }


1. Ebene wird ausgeblendet. 2. Soll immer dick sein und sich nicht verändern 3. Ist wie oben zu erkennen, ganz normal + mouseover. Nun soll die 3. Ebene (wenn ausgewählt) anders erscheinen. Hab schon alle Variationen durch und versteh einfach nicht woran es klemmt
#CatNavi .CatLevel3 Current li a { text-decoration: underline;color: orange; }

sollte doch eigentlich funktionieren ?:confused:

PS. Hast du Paypal?

Link to comment
Share on other sites

@regor:

Das einrücken der Unterkategorien geschieht ja mit Tabulator bzw. Aufzählung.

Das einfache rausnehmen und dafür erzwungene Leerzeichen benutzen ist (für mich) irgendwie nicht möglich.

Wenn ich Dich jetzt richtig verstanden habe: Das Gute bei GunnARTs Version ist ja gerade, dass hier Listen verwendet werden! Da brauchst Du nichts rauszunehmen (schon gar nicht die <li>) und keine erzwungenen Leerzeichen... Sonst könntest Du ja die "Standardversion" der xtc_show_category.inc.php nehmen. :confused:

Abstände regelst Du bei GunnARTs Version bequem per CSS, z.B.

#CatNavi a { padding-left:20px; }[/HTML]

macht Dir 20 Pixel Abstand links neben dem Navigationspunkt - nur mal so als Beispiel :D

Cheers,

IaN

Link to comment
Share on other sites

  • 2 months later...

und kann mir das Bildlich nicht vorstellen...

BIldlich ist da auch kein Unterschied - die Variante hier kommt dafür mit, sagen wir mal, 90% weniger Quelltext aus, komplett ohne das ganze Tabellen- und JavaScript-Gedöns und ist einfach "besseres" HTML.

Wie's aussieht, bestimmen allein die CSS-Anweisungen. Und die kann man sich auch so zurechtdröseln, dass im Browserfenster optisch überhaupt kein Unterschied zur "Originalversion" ist.

Ansonsten: Schau mal hier im http://www.xtcommerce-shop.com/ , die haben da etwas sehr ähnliches (ist schon die neue Version 3.1).

Link to comment
Share on other sites

  • 4 weeks later...

Hallo

habe den Script von Gunnar eingebaut. Nun werden alle Kategorien angezeigt nur wenn ich sage,

// KONFIGURATION

global $MaxLevel, $HideEmpty, $ShowAktSub;

$MaxLevel = 3;

$HideEmpty = true;

$ShowAktSub = false;

werden immer noch alle Kategorien angezeigt. Woran liegt das?

Möchte doch nur gern die ersten 3 Kategorieebenen angezeigt haben.

Grüße

Yvonne

Link to comment
Share on other sites

Ich wollte auch das script einsetzen, aber egal was ich mache, er nimmt die Anweisungen in meiner css Datei nicht :(

Woran liegt das denn?

#CatNavi {

font-family: Arial, Helvetica, sans-serif;

font-size: 13px;

font-weight: bold;

}

.CatLevel1 a { color: red }

.CatLevel1 li a { color: black }

.CatLevel2 a { color: red }

.CatLevel2 li a { color: black }

Habe das eingebaut, aber trotzdem passiert nix :(

Link to comment
Share on other sites

1. das hier ist das community-forum wo der bezahlte support nicht aktiv ist.

2. support heisst support zu shopfunktionen und einstellungen, und nicht zu individuellen erweiterungen / individuellen programmierungen, auch wenn dies im supportkundenforum trotzdem oft genug geschieht.

ich bitte darum sinnfreie und provozierende postings zu unterlassen und sich an die forenregeln zu halten, danke.

Link to comment
Share on other sites

Guest gwinger

Hier wird sich benommen. Keiner muss diese Software benutzen.

Selbsternannte Gurus sollen sich alles selber coden und/oder zur selbsternannten Konkurrenz wechseln.

Ab sofort wird hier wieder dem Stil zugute Moderation betrieben.

Stänkerattacken werden nicht mehr geduldet.:cool:

Link to comment
Share on other sites

Archived

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

Guest
This topic is now closed to further replies.
×
  • Create New...