Mal wieder die beliebten Kategorien

  • febo febo
    Sternenflotten-Admiral
    0 x
    187 Beiträge
    0 Hilfreiche Beiträge
    12. 04. 2007, 10:53

    Hi Leute,

    seit nun drei Wochen schlagen ich mich mit einem Shop rum und bekommen ihn nicht richtig "rund" ans laufen.

    Folgendes liegt vor:

    typo3 4.1
    tt_products 2.5.2 + notwendige Extensions

    Als erstes nerven mich inzwischen die Kategorien. In der [b]tt_products_cat[/b] sehen wir am Ende eine Spalte namens [b]parent_category[/b], verwendet wird diese aber nicht. Wenn ich eine Kategorie anlegen, kann ich keine übergeordnete Kategorie auswählen. Warum? Wozu dient diese Spalte dann?

    Erstelle ich eine Seite z.B. "Kategorien" und lege die Extension [b]tt_products[/b] mit dem Code: [b]Kategorie - Liste[/b] dort an, wird auf der Seite nichts angezeigt. Warum?

    Ich muss einen Shop erstellen, der Ausstattungsgegestände (oder Nippes) für Wohnungen verkauft und über viele Produkte und somit Kategorien verfügt. Ich finde es erlich gesagt ziemlich umständlich für jede Kategorie eine Seite anzulegen, um eine Art Kategoriestruktur zu bekommen.

    Ein Blick auf commerce zeigt da eine bessere Lösung. Leider liegt die Tiefe der Kategorien z.Z bei Zwei, vorbei man Produkte nicht die Kategorie der zweite Ebene zuordnen kann (hier liegt noch ein Fehler vor).

    Nun habe habe ich aber mein Template an tt_products angepasst und möchte nicht noch einmal von vorne anfangen.

    Kann mir jemand die Nutzung der Kategorien bei tt_products erklären? Ich komme hier langsam nicht weiter.


  • 1
  • febo febo
    Sternenflotten-Admiral
    0 x
    187 Beiträge
    0 Hilfreiche Beiträge
    12. 04. 2007, 14:45

    Hi Leute,

    Wenn ich eine Kategorie anlegen, kann ich keine übergeordnete Kategorie auswählen. Warum? Wozu dient diese Spalte dann?

    Habe nun mittlerweile auch begriffen das diese Spalte von der Extension [b]mbi_products_categories[/b] angelegt wurde. Nur wenn diese Extension die Tabelle von tt_products erweitert, warum habe ich dann nicht die Möglichkeit diese im Backend entsprechend zu nutzen, oder funktioniert die Extension mit der version 2.5.2 von tt_products nicht richtig?

    Und wenn die Möglichkeit dann besteht, wie kann ich die Kategorien entsprechend sichtbar machen?

    Gruß

    febo

  • febo febo
    Sternenflotten-Admiral
    0 x
    187 Beiträge
    0 Hilfreiche Beiträge
    12. 04. 2007, 16:28

    Hi Leute,

    hm... werde noch zum Alleinunterhalter. :D

    Da die Einbindung von mbi_products_categories ins neue tt_products nicht so klappt, habe ich mbi_... nun direkt aus dem TCA der tt_products angesprochen.

    1. 'parent_category' => Array (
    2. 'exclude' => 1,
    3. 'label' => 'LLL:EXT:tt_products/locallang_db.xml:tt_products_cat.parent_uid',
    4. 'config' => Array (
    5. 'type' => 'select',
    6. 'form_type' => 'user',
    7. 'userFunc' => 'tx_mbiproductscategories_treeview->displayCategoryTree',
    8. 'treeView' => 1,
    9. 'foreign_table' => 'tt_products_cat',
    10. 'foreign_table_where' => $where.'ORDER BY tt_products_cat.title',
    11. 'size' => 1,
    12. 'autoSizeMax' => 25,
    13. 'minitems' => 0,
    14. 'maxitems' => 1,
    15. 'exclude' => 1,
    16. 'label' => 'LLL:EXT:tt_news/locallang_tca.php:tt_news.category',
    17. )
    18. ),
    19. ),

    Das klappt nun auch soweit. Wenn ich nun aber die erste Kategorie anlege bekommt sie parent_category die "0" und uid "1" zugewiesen. "0" ist die ID der Wurzel z.B. mit dem Namen [b]Produkt Kategorien[/b]. Lege ich nun eine weitere an, bekomme ich eine Fehlermeldung, dass die parent_category mit der uid "0" (also der Wurzel) nicht gefunden werden konnte und die erste Kategorie wird im Baum nicht angezeigt.

    Hat jemand eine Lösung parat?

    Gruß

    febo

  • febo febo
    Sternenflotten-Admiral
    0 x
    187 Beiträge
    0 Hilfreiche Beiträge
    12. 04. 2007, 17:00

    hm...?

    1. SELECT parent_category,uid,title,subtitle
    2. FROM tt_products_cat
    3. WHERE ='0' AND tt_products_cat.deleted=0 AND tt_products_cat.pid IN (35)
    4. ORDER BY title

    Fehlt da nicht etwas vor dem = nach WHERE ???

  • Flink Flink
    Jedi-General
    0 x
    1663 Beiträge
    0 Hilfreiche Beiträge
    12. 04. 2007, 21:10

    [quote="febo"]
    Da die Einbindung von mbi_products_categories ins neue tt_products nicht so klappt, habe ich mbi_... nun direkt aus dem TCA der tt_products angesprochen.

    1. 'foreign_table_where' => $where.'ORDER BY tt_products_cat.title',

    bekomme ich eine Fehlermeldung, dass die parent_category mit der uid "0" (also der Wurzel) nicht gefunden werden konnte und die erste Kategorie wird im Baum nicht angezeigt.
    [/quote]

    Das $where scheint hier falsch initialisiert worden zu sein.

  • febo febo
    Sternenflotten-Admiral
    0 x
    187 Beiträge
    0 Hilfreiche Beiträge
    13. 04. 2007, 08:43

    Hi Flink,

    den Fehler habe ich nun gefunden. Wie oben beschrieben, hatte ich die Extension mbi_products... ja von Hand eingebunden. In einer Klasse dieser Extension wird das [b]parentField[/b] wie folgt gesetzt:

    1. $treeViewObj->parentField = $TCA['tt_products_cat']['ctrl']['treeParentField'] = 'parent_category';

    Dieser Wert wird in das Array aus irgendeinem Grund nicht übernomme. Wenn ich mir mittels [b]var_dump($TCA['tt_products_cat']);[/b] das Array in der entsprechenden Klasse von mbi_products.. anzeigen lasse, fehlt dieser Wert.

    Nun habe ich das parentField direkt eingetragen. Ist zwar keine gute Lösung, aber funktioniert vorerst.

    Es lassen sich jetzt Kategorien in verschiedenen Ebenen erstellen. Nachdem ich das notwendige HTML gefunden und aus einem Beispieltemplate in mein eigenens übernommen hatte, werden die Kategorien als Links angezeigt.

    Als letztes bleibt jetzt die Frage ob die Produkte [b]rekursiv[/b] angezeigt werden, also z.B. alle Produkte aus der Kategorie Teppiche und alle dazugehörigen Unterkategorien.

    Gruß

    febo

  • Flink Flink
    Jedi-General
    0 x
    1663 Beiträge
    0 Hilfreiche Beiträge
    21. 04. 2007, 17:20

    [quote="febo"]
    Es lassen sich jetzt Kategorien in verschiedenen Ebenen erstellen. Nachdem ich das notwendige HTML gefunden und aus einem Beispieltemplate in mein eigenens übernommen hatte, werden die Kategorien als Links angezeigt.

    Als letztes bleibt jetzt die Frage ob die Produkte [b]rekursiv[/b] angezeigt werden, also z.B. alle Produkte aus der Kategorie Teppiche und alle dazugehörigen Unterkategorien.
    [/quote]

    Normalerweise nicht. Es werden die Produkte aus der Kategorie im Parameter angezeigt. Dazu wäre eine Erweiterung des Codes der Liste notwendig.

  • 1