Ja... das ist dann eine manuelle Pflege. Ich habe mir den PHP-Code angeschaut, wie der JTL-
Shop sich das Array für die Gratis-Artikel zieht:
warenkorb_inc.php --> dort dann die Funktion
function gibGratisGeschenke() - dort wird im SQL code der Warenwert abgeglichen:
...
AND CAST(tartikelattribut.cWert AS DECIMAL) <= " .
$_SESSION['Warenkorb']->gibGesamtsummeWarenExt([C_WARENKORBPOS_TYP_ARTIKEL], true)
...
Wenn man das entsprechend entfernen / auskommentieren würde, erhält man ein array mit gar allen Gratis-Artikeln. In der Ausgabe würde ich dann die Artikel, die noch nicht verfügbar sind, da der Warenwert zu klein ist, grafisch etwas anders ausgeben (ausgrauen etc.) und die Funktionalität (input, radio button etc. entfernen) und eine Art Info-Text drüberlegen "Erst verfügbar ab Warenwert X Euro". Die zugrundeliegenden Infos (Attribute) sind ja alle mehr oder weniger in den Objekten drin (z.B. $oArtikelGeschenk_arr[3]->cBestellwert enthält bspws. "29,00 €").
Wenn jemand dann versuchen würde die ausgegrauten/inaktiven Artikel trotzdem "anklickbar" zu machen bzw. versuchen würde diese Artikel in den Warenkorb zu "schummeln", wird das durch den JTL-Shop ja automatisch abgefangen, da dort ja bei jedem hinzugefügten Gratis-Artikel nochmals gecheckt wird, ob es auch legitim ist, sprich der Warenkorbwert zu dem hinterlegten Attributwert passt. Wird ja in der
warenkorb.php in Zeile 89 so nett mit "// Pruefen ob der Artikel wirklich ein Gratis Geschenk ist" kommentiert
Das wäre dann meines Erachtens eine Lösung an der richtigen Stelle!
Nur eigtl. wäre JTL selber hier gefragt, so eine Lösung umzusetzen.
VG