it-swarm-es.tech

Múltiples estilos en un sitio web

Estoy creando un Joomla! 3.x sitio web con 3 estilos diferentes según el tipo de visitante (principalmente diferencias de color y diferentes módulos que se muestran o no):

  • Estilo azul para "personas"
  • Estilo verde para pequeñas tiendas.
  • Estilo rojo para grandes tiendas.

El sitio web también tiene 2 idiomas, pero el estilo no va a cambiar según ellos.

Mi pregunta es: ¿Cuál sería la mejor práctica para administrar esos estilos?

Mis ideas hasta ahora:

  • Use 3 plantillas diferentes, sin embargo, la única diferencia entre ellas sería la CSS.
  • Use una sola plantilla con todos los estilos y cree (¿o encuentre?) Un complemento para cuidar (en sesión) de una clase según la elección del visitante.
2
Shaz

Supongo que las personas, las tiendas pequeñas y grandes serán diferentes grupos de usuarios. Por lo tanto, un enfoque simple y directo es basar las variaciones de sus estilos en los grupos de usuarios y la ACL.

1. Para mostrar diferentes módulos: Puede crear niveles de acceso para cada grupo de usuarios y asignar el módulo deseado al nivel de acceso asociado de cada grupo de usuarios.

2. Para tener diferentes estilos/Esquema de color (CSS): Puede crear 3 archivos css adicionales, que manejarán todas las variaciones de estilo y los esquemas de color. Luego, en su plantilla, puede verificar el grupo de usuarios del usuario actual y llamar al archivo css relativo.

Cómo acceder a los datos del usuario

$user = JFactory::getUser(); //Get the current user object
$user->groups; //Returns an array with the ids of the usergroups of the user.



Enfoque alternativo y un poco más complicado para asignar los estilos:
Puede hacer backend en CSS/Scheme/Style en su plantilla y crear 3 estilos diferentes desde el backend, que activarán las reglas o archivos CSS correspondientes para la plantilla. Luego puede crear diferentes elementos de menú y darles acceso para cada grupo de usuarios, y asignar el estilo de plantilla correspondiente a estos elementos de menú.

1
FFrewin

Hemos luchado contra esto en el pasado, y en nuestra experiencia siempre se vuelve desordenado, así que lo abandonamos por un enfoque más simple. Luego, encontramos una extensión llamada Chameleon , que iba a hacer exactamente lo que queríamos, y lo que está preguntando, pero era demasiado tarde para implementarlo en nuestro proyecto. No puedo comentar en base a mi experiencia personal, pero parece altamente calificado en sus comentarios, y parece ser bastante poderoso y flexible.

Chameleon detects:

★ Browser (IE v6, FF, iPhone, iPad, tablet, mobile etc; using Categorizr for smart detection)
★ Browser language
★ Date, time, time of day
★ Page type (article, category, front page etc)
★ Virtuemart page types, cart contents, categories & coupons
★ Hikashop page types, categories and specific items
★ K2 page types, categories, authors and more
★ User id and group, logged-in and logged-out users
★ Article id, section, category and tags (J3.x)
★ Component
★ Domain/sub-domain of your site
★ Page URL and HTTP referrer
★ Random probability
★ GeoIP detection of the guest’s city/country
★ All "children" of a given menu or menu item
★ Anything else you can detect with a snippet of PHP.
2
GDP