Files
roi-theme/Shared/Domain/Constants/VisibilityDefaults.php
FrankZamora 8735962f52 feat(visibility): sistema de visibilidad por tipo de página
- Añadir PageVisibility use case y repositorio
- Implementar PageTypeDetector para detectar home/single/page/archive
- Actualizar FieldMappers con soporte show_on_[page_type]
- Extender FormBuilders con UI de visibilidad por página
- Refactorizar Renderers para evaluar visibilidad dinámica
- Limpiar schemas removiendo campos de visibilidad legacy
- Añadir MigrationCommand para migrar configuraciones existentes
- Implementar adsense-loader.js para carga lazy de ads
- Actualizar front-page.php con nueva estructura
- Extender DIContainer con nuevos servicios

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 09:16:34 -06:00

46 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace ROITheme\Shared\Domain\Constants;
/**
* Constantes de visibilidad por defecto para componentes
*
* Centraliza los valores por defecto para cumplir con DRY.
* Usado por:
* - EvaluatePageVisibilityUseCase (cuando no hay config en BD)
* - MigratePageVisibilityService (para crear registros iniciales)
*
* @package ROITheme\Shared\Domain\Constants
*/
final class VisibilityDefaults
{
/**
* Configuración de visibilidad por defecto para nuevos componentes
*
* - Home: SÍ mostrar (página principal)
* - Posts: SÍ mostrar (artículos del blog)
* - Pages: SÍ mostrar (páginas estáticas)
* - Archives: NO mostrar (listados de categorías/tags)
* - Search: NO mostrar (resultados de búsqueda)
*/
public const DEFAULT_VISIBILITY = [
'show_on_home' => true,
'show_on_posts' => true,
'show_on_pages' => true,
'show_on_archives' => false,
'show_on_search' => false,
];
/**
* Lista de campos de visibilidad válidos
*/
public const VISIBILITY_FIELDS = [
'show_on_home',
'show_on_posts',
'show_on_pages',
'show_on_archives',
'show_on_search',
];
}