Cleanup: Remoción masiva de restos de WordPress y consolidación de archivos GKACHELE™
This commit is contained in:
@@ -30,6 +30,7 @@ def scan_available_themes():
|
||||
'name': config.get('name', theme_dir),
|
||||
'description': config.get('description', ''),
|
||||
'rubro': config.get('rubro', 'general'),
|
||||
'plan': config.get('plan', 'base'),
|
||||
'sections': config.get('sections', []),
|
||||
'colors': config.get('colors', {}),
|
||||
'typography': config.get('typography', {}),
|
||||
@@ -55,10 +56,19 @@ def get_theme_config(theme_id):
|
||||
print(f"⚠️ Error cargando config de {theme_id}: {e}")
|
||||
return None
|
||||
|
||||
def get_themes_by_rubro(rubro):
|
||||
"""Obtener templates filtrados por rubro"""
|
||||
def get_themes_by_rubro(rubro, user_plan='base'):
|
||||
"""Obtener templates filtrados por rubro y plan del usuario"""
|
||||
all_themes = scan_available_themes()
|
||||
return {k: v for k, v in all_themes.items() if v.get('rubro') == rubro or v.get('rubro') == 'general'}
|
||||
plan_priority = {'base': 1, 'pro': 2, 'premium': 3}
|
||||
user_level = plan_priority.get(user_plan, 1)
|
||||
|
||||
filtered_themes = {}
|
||||
for k, v in all_themes.items():
|
||||
theme_level = plan_priority.get(v.get('plan', 'base'), 1)
|
||||
# Solo mostrar temas del rubro (o general) que estén dentro del plan del usuario
|
||||
if (v.get('rubro') == rubro or v.get('rubro') == 'general') and theme_level <= user_level:
|
||||
filtered_themes[k] = v
|
||||
return filtered_themes
|
||||
|
||||
def get_site_menus(site_id, user_id):
|
||||
"""Obtener menús del sitio organizados por ubicación"""
|
||||
@@ -175,5 +185,20 @@ def render_gkachele_template(theme, content, site_id=None, user_id=None):
|
||||
return template.render(**template_data)
|
||||
|
||||
full_template = header + theme_template + sidebar + footer
|
||||
template = Template(full_template)
|
||||
|
||||
# Inject WhatsApp Button if configured
|
||||
whatsapp = content.get('redes_sociales', {}).get('whatsapp')
|
||||
if whatsapp:
|
||||
wa_html = f'''
|
||||
<a href="https://wa.me/{whatsapp}" class="whatsapp-float" target="_blank" style="position:fixed; width:60px; height:60px; bottom:40px; right:40px; background-color:#25d366; color:#FFF; border-radius:50px; text-align:center; font-size:30px; box-shadow: 2px 2px 3px #999; z-index:10000; display:flex; align-items:center; justify-content:center; text-decoration:none;">
|
||||
<i class="fab fa-whatsapp"></i>
|
||||
</a>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
|
||||
'''
|
||||
if is_full_page:
|
||||
theme_template = theme_template.replace('</body>', wa_html + '</body>')
|
||||
else:
|
||||
footer = footer.replace('</body>', wa_html + '</body>')
|
||||
|
||||
template = Template(theme_template if is_full_page else header + theme_template + sidebar + footer)
|
||||
return template.render(**template_data)
|
||||
|
||||
Reference in New Issue
Block a user