feat(adsense): agregar mas opciones de formato y altura para Rail Ads

- Formatos: skyscraper (160x600), wide-skyscraper (160x800), half-page (300x600), large-skyscraper (300x1050)
- Distancia desde arriba: 150, 200, 300 (default), 400, 500, 700px
- Cambiar rail_top_offset de text a select con opciones predefinidas

🤖 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:05:49 -06:00
parent 0dfe3fcd2c
commit 122bcd4750
2 changed files with 27 additions and 9 deletions

View File

@@ -291,12 +291,17 @@ final class AdsensePlacementRenderer
$leftEnabled = ($settings['behavior']['rail_left_enabled'] ?? true) === true; $leftEnabled = ($settings['behavior']['rail_left_enabled'] ?? true) === true;
$rightEnabled = ($settings['behavior']['rail_right_enabled'] ?? true) === true; $rightEnabled = ($settings['behavior']['rail_right_enabled'] ?? true) === true;
$format = $settings['behavior']['rail_format'] ?? 'skyscraper'; $format = $settings['behavior']['rail_format'] ?? 'skyscraper';
$topOffset = (int)($settings['behavior']['rail_top_offset'] ?? 150); $topOffset = (int)($settings['behavior']['rail_top_offset'] ?? 300);
$delayEnabled = ($settings['forms']['delay_enabled'] ?? true) === true; $delayEnabled = ($settings['forms']['delay_enabled'] ?? true) === true;
// Dimensiones segun formato // Dimensiones segun formato
$width = $format === 'half-page' ? 300 : 160; // skyscraper: 160x600, wide-skyscraper: 160x800, half-page: 300x600, large-skyscraper: 300x1050
$height = 600; [$width, $height] = match($format) {
'wide-skyscraper' => [160, 800],
'half-page' => [300, 600],
'large-skyscraper' => [300, 1050],
default => [160, 600], // skyscraper
};
$scriptType = $delayEnabled ? 'text/plain' : 'text/javascript'; $scriptType = $delayEnabled ? 'text/plain' : 'text/javascript';
$dataAttr = $delayEnabled ? ' data-adsense-push' : ''; $dataAttr = $delayEnabled ? ' data-adsense-push' : '';

View File

@@ -225,15 +225,28 @@
"label": "Formato Rail Ads", "label": "Formato Rail Ads",
"default": "skyscraper", "default": "skyscraper",
"editable": true, "editable": true,
"options": ["skyscraper", "half-page"], "options": {
"description": "skyscraper=160x600, half-page=300x600" "skyscraper": "Skyscraper (160x600)",
"wide-skyscraper": "Wide Skyscraper (160x800)",
"half-page": "Half Page (300x600)",
"large-skyscraper": "Large Skyscraper (300x1050)"
},
"description": "Tamano del anuncio en los rails laterales"
}, },
"rail_top_offset": { "rail_top_offset": {
"type": "text", "type": "select",
"label": "Distancia desde arriba (px)", "label": "Distancia desde arriba",
"default": "150", "default": "300",
"editable": true, "editable": true,
"description": "Espacio desde el top del viewport" "options": {
"150": "150px (Cerca del header)",
"200": "200px",
"300": "300px (Recomendado)",
"400": "400px",
"500": "500px",
"700": "700px (Debajo del fold)"
},
"description": "Distancia vertical desde el top del viewport"
} }
} }
}, },