fix: Container width setting now applies correctly + Rail Ads improvements

- Fix container width not applying: css-global-responsive.css now uses
  CSS variable --roi-container-width instead of hardcoded values
- Add 8 Rail format options: slim-small (160x300), slim-medium (160x400),
  slim-large (160x500), skyscraper (160x600), slim-xlarge (160x700),
  wide-skyscraper (160x800), half-page (300x600), large-skyscraper (300x1050)
- Change rail_top_offset from text input to select with preset values
- Fix Rail Ads JavaScript positioning (moved after HTML, added retries)
- ThemeSettingsRenderer now always outputs CSS variables for layout

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
FrankZamora
2025-11-27 21:30:06 -06:00
parent 122bcd4750
commit 72ef7580fc
5 changed files with 195 additions and 134 deletions

View File

@@ -462,16 +462,35 @@ final class AdsensePlacementFormBuilder
$html .= ' </div>';
$html .= '</div>';
// Format select
// Format select - Opciones de altura para anuncios verticales
$railFormat = $this->renderer->getFieldValue($cid, 'behavior', 'rail_format', 'skyscraper');
$html .= $this->buildSelect($cid . 'RailFormat', 'Formato',
$railFormat,
['skyscraper' => 'Skyscraper (160x600)', 'half-page' => 'Half Page (300x600)']
[
'slim-small' => 'Slim Small (160x300)',
'slim-medium' => 'Slim Medium (160x400)',
'slim-large' => 'Slim Large (160x500)',
'skyscraper' => 'Skyscraper (160x600)',
'slim-xlarge' => 'Slim XLarge (160x700)',
'wide-skyscraper' => 'Wide Skyscraper (160x800)',
'half-page' => 'Half Page (300x600)',
'large-skyscraper' => 'Large Skyscraper (300x1050)'
]
);
// Top offset
$topOffset = $this->renderer->getFieldValue($cid, 'behavior', 'rail_top_offset', '150');
$html .= $this->buildTextInput($cid . 'RailTopOffset', 'Distancia desde arriba (px)', $topOffset);
// Top offset - Select con opciones predefinidas
$topOffset = $this->renderer->getFieldValue($cid, 'behavior', 'rail_top_offset', '300');
$html .= $this->buildSelect($cid . 'RailTopOffset', 'Distancia desde arriba',
$topOffset,
[
'150' => '150px (Cerca del header)',
'200' => '200px',
'300' => '300px (Recomendado)',
'400' => '400px',
'500' => '500px',
'700' => '700px (Debajo del fold)'
]
);
$html .= ' </div>';
$html .= '</div>';