| @@ -446,9 +446,16 @@ | ||
| 446 | 446 | $value = ''; |
| 447 | 447 | } |
| 448 | 448 | } |
| 449 | 449 | |
| 450 | - $html .= $this->item_field_renderer->renderItemField($field, $index, $value); | |
| 450 | + // A stored boolean must reach the renderer as '1'/'0'; cast to | |
| 451 | + // string, false becomes '' and would be mistaken for "not set". | |
| 452 | + if (is_bool($value)) { | |
| 453 | + $value = $value ? '1' : '0'; | |
| 454 | + } elseif ('taxable' === $field_name && is_object($item) && is_callable([$item, 'isTaxable'])) { | |
| 455 | + $value = $item->isTaxable() ? '1' : '0'; | |
| 456 | + } | |
| 457 | + $html .= $this->item_field_renderer->renderItemField($field, $index, is_scalar($value) ? (string) $value : ''); | |
| 451 | 458 | } |
| 452 | 459 | |
| 453 | 460 | $html .= '</div>'; |
| 454 | 461 | |