Backup pre-corrección namespaces: mejoras schemas y componentes
Cambios incluidos: - Actualización de copy/textos en 7 schemas JSON - Mejoras en AdminAjaxHandler con mapeos adicionales - Refactorización de FormBuilders y Renderers - Correcciones en dashboard admin JS - Nuevo ContactFormRenderer funcional NOTA: Este commit sirve como respaldo antes de corregir inconsistencias de case en namespaces (API→Api, WordPress→Wordpress) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -191,6 +191,7 @@ add_action('after_setup_theme', function() {
|
||||
'footer_menu_1' => __('Footer Menu 1 (Widget 1)', 'roi-theme'),
|
||||
'footer_menu_2' => __('Footer Menu 2 (Widget 2)', 'roi-theme'),
|
||||
'footer_menu_3' => __('Footer Menu 3 (Widget 3)', 'roi-theme'),
|
||||
'footer_menu_4' => __('Footer Menu 4 (Widget 1B - Bases de datos)', 'roi-theme'),
|
||||
]);
|
||||
|
||||
// TODO: Agregar más configuraciones según sea necesario
|
||||
@@ -218,7 +219,51 @@ add_action('after_setup_theme', function() {
|
||||
// });
|
||||
|
||||
// =============================================================================
|
||||
// 5. INFORMACIÓN DE DEBUG (Solo en desarrollo)
|
||||
// 5. RENDERIZAR MODAL DE CONTACTO (Let's Talk)
|
||||
// =============================================================================
|
||||
|
||||
/**
|
||||
* Renderizar modal de contacto en el footer
|
||||
* Usa la misma configuracion que contact-form (mismo webhook)
|
||||
*/
|
||||
add_action('wp_footer', function() use ($container) {
|
||||
if ($container === null) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
// Obtener configuracion del contact-form
|
||||
$repository = $container->getComponentSettingsRepository();
|
||||
$settings = $repository->getComponentSettings('contact-form');
|
||||
|
||||
if (empty($settings)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Crear Component entity
|
||||
$componentName = new \ROITheme\Shared\Domain\ValueObjects\ComponentName('contact-form');
|
||||
$component = new \ROITheme\Shared\Domain\Entities\Component(
|
||||
name: $componentName,
|
||||
configuration: \ROITheme\Shared\Domain\ValueObjects\ComponentConfiguration::fromArray($settings),
|
||||
visibility: \ROITheme\Shared\Domain\ValueObjects\ComponentVisibility::allDevices()
|
||||
);
|
||||
|
||||
// Crear renderer y renderizar modal
|
||||
$cssGenerator = new \ROITheme\Shared\Infrastructure\Services\CSSGeneratorService();
|
||||
$renderer = new \ROITheme\Public\ContactForm\Infrastructure\Ui\ContactFormRenderer($cssGenerator);
|
||||
|
||||
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
||||
echo $renderer->renderModal($component);
|
||||
|
||||
} catch (\Throwable $e) {
|
||||
if (defined('WP_DEBUG') && WP_DEBUG) {
|
||||
error_log('ROI Theme: Failed to render contact modal: ' . $e->getMessage());
|
||||
}
|
||||
}
|
||||
}, 99); // Prioridad alta para que se renderice al final del footer
|
||||
|
||||
// =============================================================================
|
||||
// 5.1. INFORMACIÓN DE DEBUG (Solo en desarrollo)
|
||||
// =============================================================================
|
||||
|
||||
if (defined('WP_DEBUG') && WP_DEBUG) {
|
||||
|
||||
Reference in New Issue
Block a user