| @@ -432,9 +432,16 @@ | ||
| 432 | 432 | $value = ''; |
| 433 | 433 | } |
| 434 | 434 | } |
| 435 | 435 | |
| 436 | - $html .= $this->item_field_renderer->renderItemField($field, $index, $value); | |
| 436 | + // A stored boolean must reach the renderer as '1'/'0'; cast to | |
| 437 | + // string, false becomes '' and would be mistaken for "not set". | |
| 438 | + if (is_bool($value)) { | |
| 439 | + $value = $value ? '1' : '0'; | |
| 440 | + } elseif ('taxable' === $field_name && is_object($item) && is_callable([$item, 'isTaxable'])) { | |
| 441 | + $value = $item->isTaxable() ? '1' : '0'; | |
| 442 | + } | |
| 443 | + $html .= $this->item_field_renderer->renderItemField($field, $index, is_scalar($value) ? (string) $value : ''); | |
| 437 | 444 | } |
| 438 | 445 | |
| 439 | 446 | $html .= '</div>'; |
| 440 | 447 | |