En este post explicaremos cómo realizar la compra de un producto en Drupal Commerce que incluya una licencia y cuyo acceso esté restringido exclusivamente a los miembros. Para ello, utilizaremos el módulo Organic Groups.
Para llevar a cabo todo ello, se necesitarán los siguientes módulos:
- Organic Group: Permite la creación y gestión de grupos dentro del sitio.
- Commerce: Proporciona la base para manejar productos y transacciones.
- Commerce License: Añade la capacidad de gestionar licencias como productos.
- Commerce License OG Role: Conecta las licencias con los roles dentro de los grupos, permitiendo que los usuarios obtengan permisos automáticamente al adquirir una licencia.
1. Dirígete a la sección Extend dentro de tu proyecto y activa los siguientes módulos:
Organic group

Organic Group access control

Commerce + submódulos que sea necesario para comprar un producto.

Commerce License

Commerce License OG Roles.

2. Con los módulos y sus dependencias ya instalados, continuaremos con la configuración individual de cada uno para completar el funcionamiento del proyecto.
Crear el tipo de contenido “Group”
- Luego de la instalación, crearemos el tipo de contenido Group. Para ello, dirígete a la siguiente ruta: admin/structure/types/add

En esta sección configuraremos el nuevo tipo de contenido con las siguientes opciones:

- Nombre: Asignamos el nombre Group.
- Menú de configuración: En el bloque lateral, ubicamos la opción Organic groups.
- Activar como grupo: Marcamos la casilla Group, lo que permitirá que este tipo de contenido funcione como un grupo capaz de contener entidades y tener miembros.
- Membership type: Dejamos la opción por defecto, a menos que queramos manejar tipos de membresía personalizados.
- Restrict access to group members: Activa esta opción para que solo los miembros del grupo puedan acceder y visualizar tanto el grupo como los contenidos que pertenecen a él.
Una vez completada la configuración, hacemos clic en Save and manage fields para guardar los cambios y continuar con la definición de los campos necesarios.

Crear el tipo de contenido “Group content”
Ahora crearemos el tipo de contenido que funcionará como el contenido de grupo. Para ello dirigirse a la siguiente ruta: /admin/structure/types/add (Structure > Content types > Add content type.)

En esta sección configuramos el tipo de contenido con las opciones de:

- Nombre: Group content
- Menú de configuración: En el bloque lateral, ubicamos la opción Organic groups.
- Activar como Group content: Marcamos la casilla Group Content, lo que permitirá que este tipo de contenido funcione como contenido de un grupo.
- Target type: Contenido (Configuración por defecto)
- Target bundles: Seleccionar el tipo de contenido Group
- Una vez completada la configuración, hacemos clic en Save and manage fields para guardar y continuar con la definición de los campos necesarios.
Al crear este tipo de contenido, se añadirá automáticamente el campo Groups audience, el cual permitirá asociar el contenido a un grupo específico dentro del sitio.

Crear contenidos - Group y group content
Crear un contenido de Grupo, lo llamaremos Primer grupo. Dirigirse a la siguiente ruta: /node/add/group.

Completa la información de acuerdo con los campos que hayas creado. Luego guardar el contenido creado.

Crear un contenido de Grupo, lo llamaremos Curso de Marketing. Dirigirse a la siguiente ruta: /node/add/group_content

- Completa la información de acuerdo con los campos que hayas creado.
- En este tipo de contenido aparecerá el campo Groups audience, generado automáticamente al instalar el módulo. Allí deberás seleccionar el grupo que creamos previamente; en este ejemplo, “Primer grupo”.
- Luego guardar el contenido creado.
Me pareció interesante el artículo
Añadir nuevo comentario