Hallo,
versuche das ITEM_CATEGORY_SELECT_TEMPLATE zu nutzen. Dazu habe ich einfach das Beispiel in mein Template eingefügt
<!-- ###ITEM_CATEGORY_SELECT_TEMPLATE### begin
This subpart is used to display the regular list of categories.
-->
<!-- ###CATEGORY_SINGLE### begin-->
###ITEM_SINGLE_PRE_HTML###
<!--###LINK_CATEGORY### begin-->
###LIST_LINK###
<!--###LINK_CATEGORY### end-->
###ITEM_SINGLE_POST_HTML###
<!-- ###CATEGORY_SINGLE### end-->
<!-- ###CATEGORY_SINGLE_2### begin-->
<!-- ###CATEGORY_SINGLE_2### end-->
<div id="ArticleId">Keine Artikel gefunden</div>
<!-- ###ITEM_CATEGORY_SELECT_TEMPLATE### end -->
Die Kategorien erscheinen und können auch ausgewählt werden. Nach der Auswahl verschwindet der inhalt des div "ArticleId". Das bleibt aber leer.
Jetzt meine Frage:
Fehlt mir da noch ein Marker, dass er mir dann eine Liste der Artikel ausgibt oder was mache ich falsch?!
Danke schon mal.
Weil ich keine andere Lösung gefunden habe, hab ich das ganze jetzt dadurch gelöst, dass ich in den php Klassen rumeditiert habe.
Ich mache einfach bei der Auswahl eine Weiterleitung auf die Shop-Seite mit den entsprechenden Parametern.
Dafür habe ich die Datei class.tx_ttproducts_javascript.php geändert. Für alle interessenten (alle Änderungen ab Zeile 292):
if (bShowArticle) {
/* sb.options[0] = new Option(len, "keine Unterkategorie");*/
var data = new Array();
data["'.$this->pibase->prefixId.'"] = new Array();
data["'.$this->pibase->prefixId.'"]["'.$catid.'"] = category;
var addr = location.href.split("?")[0];
var params = location.search.replace("?", "").split("&");
for (i = 0; i < params.length; i++) {
if (params[i].split("=")[0] == "id") {
page = params[i];
}
}
location.href = addr + "?" + page + "&tt_products[cat]=" + category;
';
/*if ($method == 'clickShow') {
$code .= $this->pibase->extKey.'_showArticle(data);';
}*/
$code .= '
} else {
/* nothing */
Meine Template habe ich dann auch noch geändert, damit sich das ganze auch die Auswahl merkt:
<!-- ###ITEM_CATEGORY_SELECT_TEMPLATE### begin
This subpart is used to display the regular list of categories.
-->
<div class="div_selcat">
<!-- ###CATEGORY_SINGLE### begin-->
###ITEM_SINGLE_PRE_HTML###
<!--###LINK_CATEGORY### begin-->
###LIST_LINK###
<!--###LINK_CATEGORY### end-->
###ITEM_SINGLE_POST_HTML###
<!-- ###CATEGORY_SINGLE### end-->
<!-- ###CATEGORY_SINGLE_2### begin-->
<!-- ###CATEGORY_SINGLE_2### end-->
<br /><br />
</div>
<script type="text/javascript">
setValues();
function setValues() {
var params = location.search.replace("?", "").split("&");
var selBox = document.getElementById("cat1");
var selBox2 = document.getElementById("cat2");
for (i = 0; i < params.length; i++) {
if (params[i].split("=")[0] == "tt_products[cat]") {
var cat = params[i].split("=")[1];
if (c[0][cat][1] == 0) {
selBox.value = cat;
}
else {
selBox.value = c[0][cat][1];
fillSelect(selBox, 2, 1);
selBox2.value = cat;
}
}
}
}
</script>
<!-- ###ITEM_CATEGORY_SELECT_TEMPLATE### end -->
Das ganze ist darauf ausgelegt, dass nur eine Subkategorie vorkommt. Bei mehr als einer, müsste man dann das Javascript im Template noch anpassen. Der Rest sollte stimmen.
Vielleicht gibt es eine bessere Lösung, aber zumindest ist es eine funktionierende. Und das ist doch das was zählt ;-)