fix(adsense): Add string casts to buildSelect() calls in Vignette section

Fix TypeError: buildSelect() Argument #3 ($value) must be of type string.
The getFieldValue() method can return boolean for certain DB values,
causing type mismatch with strict typed buildSelect() method.

Added (string) casts to all buildSelect() calls in Vignette Ads section:
- vignetteTrigger
- size
- opacity
- reshowTime
- maxSession

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
FrankZamora
2025-11-28 21:20:12 -06:00
parent 7edddada89
commit 1f0ce58b22

View File

@@ -622,7 +622,7 @@ final class AdsensePlacementFormBuilder
// Trigger
$vignetteTrigger = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_trigger', 'pageview');
$html .= $this->buildSelect($cid . 'VignetteTrigger', 'Cuando mostrar',
$vignetteTrigger,
(string)$vignetteTrigger,
[
'pageview' => 'Al cargar la pagina',
'scroll_50' => 'Al scrollear 50%',
@@ -641,14 +641,14 @@ final class AdsensePlacementFormBuilder
$html .= ' <div class="col-6">';
$size = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_size', '300x250');
$html .= $this->buildSelect($cid . 'VignetteSize', 'Tamano',
$size,
(string)$size,
['300x250' => '300x250', '336x280' => '336x280', 'responsive' => 'Responsive']
);
$html .= ' </div>';
$html .= ' <div class="col-6">';
$opacity = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_overlay_opacity', '0.7');
$html .= $this->buildSelect($cid . 'VignetteOverlayOpacity', 'Opacidad fondo',
$opacity,
(string)$opacity,
['0.5' => '50%', '0.6' => '60%', '0.7' => '70%', '0.8' => '80%', '0.9' => '90%']
);
$html .= ' </div>';
@@ -677,14 +677,14 @@ final class AdsensePlacementFormBuilder
$html .= ' <div class="col-6">';
$reshowTime = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_reshow_time', '5');
$html .= $this->buildSelect($cid . 'VignetteReshowTime', 'Tiempo (min)',
$reshowTime,
(string)$reshowTime,
['1' => '1 min', '2' => '2 min', '3' => '3 min', '4' => '4 min', '5' => '5 min', '10' => '10 min', '15' => '15 min', '30' => '30 min']
);
$html .= ' </div>';
$html .= ' <div class="col-6">';
$maxSession = $this->renderer->getFieldValue($cid, 'vignette_ads', 'vignette_max_per_session', '3');
$html .= $this->buildSelect($cid . 'VignetteMaxPerSession', 'Max/sesion',
$maxSession,
(string)$maxSession,
['1' => '1', '2' => '2', '3' => '3', '5' => '5', 'unlimited' => 'Sin limite']
);
$html .= ' </div>';