Bauzustand -> Bestaetigung.
// ==================================================================
// Treffer in "stark" (>=75) und "schwach" (<75) teilen
$v2_strong = []; $v2_weak = [];
foreach ($results as $d) { ((int)$d['score'] >= 75) ? $v2_strong[] = $d : $v2_weak[] = $d; }
// Artikel klassifizieren: kaufbar / ausgelaufen-mit-Nachfolger / tot
$g_buy = []; $g_succ = []; $g_dead = [];
foreach ($item_results as $it) {
$it['_nml'] = v2_nml_full($it);
if (!$it['_nml']['is_nml']) $g_buy[] = $it; // regulär
elseif ($it['_nml']['nachfolger']) $g_succ[] = $it; // ausgelaufen, Nachfolger da
else $g_dead[] = $it; // ausgelaufen, kein Ersatz
}
$v2_top_score = isset($results[0]) ? (int)$results[0]['score'] : 0;
// Intent-Einordnung
// Der Leerfall MUSS zuerst geprueft werden: sonst greift der else-Zweig und verspricht
// "Mehrere moegliche Treffer", obwohl 0 Geraete und 0 Artikel gefunden wurden
// (z.B. bei einem Tippfehler wie "spannrolle boisch").
$v2_leer = (count($results) === 0 && count($item_results) === 0);
if ($v2_leer) $v2_headline = 'Dazu haben wir nichts gefunden.';
elseif ($v2_top_score >= 90) $v2_headline = 'Wir haben dein Gerät gefunden.';
elseif (count($v2_strong) > 0) $v2_headline = 'Das könnte dein Gerät sein:';
elseif (count($item_results)) $v2_headline = 'Passende Artikel gefunden:';
else $v2_headline = 'Mehrere mögliche Treffer – grenz gern ein.';
?>
Prüf bitte die Schreibweise, oder gib die Typnummer vom Typenschild ein
(z.B. WT46W560BY oder Lavatherm 400).
· kaufbare Artikel
Mehrere Hersteller führen dieses Modell
Welcher Hersteller steht auf deinem Gerät?
Der Hersteller steht meist auf dem Typenschild oder als Logo auf der Blende.
Dieses Modell gibt es in mehreren Bauzuständen
· Varianten
Wann wurde dein Gerät gebaut? Die Nummer auf dem Typenschild endet auf
/01, /02 … – wenn du sie findest, ist das der schnellste Weg.
Ist das dein Gerät?
Verfügbare Artikel für dieses Gerät ():
passende Ersatzteile — Auswahl:
10): ?>
+ weitere
count($a); });
$v2_list = [];
foreach ($by_marke as $m => $ds) {
$v2_mcount[$m] = count($ds);
foreach ($ds as $d) { $d['_mgroup'] = $m; $v2_list[] = $d; }
}
}
?>
$d):
list($clabel,$ccol,$cbg,$cicon) = v2_confidence($d['score']);
$parts = $d['ersatzteile'] ?? [];
$buy = $d['shop_items'] ?? null; // nur wenn shop_items-Toggle an
if (!$v2_alt_open && ($v2_guided && $v2_top_detail)) {
echo '
Nicht mein Gerät – '
. $v2_alt_total . ' weitere Treffer anzeigen
';
$v2_alt_open = true;
}
// Bei der Varianten-Karte stehen dieselben Geraete schon als Buttons oben --
// die ausfuehrliche Liste (mit Ersatzteilen) deshalb ebenfalls einklappen.
if (!$v2_alt_open && $v2_variants) {
echo 'Alle '
. count($v2_variants) . ' Bauzustände mit Ersatzteilen anzeigen
';
$v2_alt_open = true;
}
// Dito bei der Hersteller-Rueckfrage: erst die Marke klaeren, die Rohliste
// (oft 20 optisch identische Kacheln) gehoert dahinter.
if (!$v2_alt_open && $v2_brandpick) {
echo 'Alle '
. count($results) . ' Treffer ungefiltert anzeigen
';
$v2_alt_open = true;
}
if (isset($d['_mgroup']) && $d['_mgroup'] !== $v2_last_mgroup) {
$v2_last_mgroup = $d['_mgroup'];
echo ''.htmlspecialchars($v2_last_mgroup)
. ' '.(int)($v2_mcount[$v2_last_mgroup] ?? 0).'
';
}
?>
Verfügbare Artikel für dieses Gerät ():
Verfügbare Artikel im Shop anzeigen
Ersatzteile laut Herstellerdaten hinterlegt
passende Ersatzteile — Auswahl:
10): ?>
+ weitere
Weitere mögliche Geräte anzeigen () – schwächere Treffer
'; }
?>
🛒 Diese Artikel kannst du direkt kaufen
0 -- 10.160x 0, 8.724x NULL).
// Bestellbar steuert sie ueber items.active, und searchItems() filtert
// bereits mit WHERE i.active = 1 -> alles hier ist bestellbar.
// Shop-Artikel und Bilder liegen nur auf LIVE -> absolute URLs
$url = tba_url('index.php?item_id=' . (int)$it['id']);
$img = !empty($it['default_image_file_name'])
? tba_url('web/intelectra_shop/images/article/'.rawurlencode($it['default_image_file_name']))
: '';
$pb = isset($it['price_brutto']) ? (float)$it['price_brutto'] : 0;
$bb = !empty($it['bargain_brutto']) ? (float)$it['bargain_brutto'] : 0;
?>
kein Bild
0 && $pb > 0 && $bb < $pb): ?>
€
€
0): ?>
€
Preis auf Anfrage
0): ?>
inkl. MwSt.
Zum Artikel
🔄 Ausgelaufen – aber es gibt einen Nachfolger
Art-Nr · nicht mehr lieferbar
Nicht mehr lieferbar, kein Ersatz () – ausgeblendet
Gib einen Suchbegriff ein (z.B. "AWB 921 PH", "ZCS 2100B", "Kohlefilter Bauknecht")