Foren

Nuevo LayoutType con portlets

thumbnail
Jose Ignacio Honrado, geändert vor 14 Jahren.

Nuevo LayoutType con portlets

New Member Beiträge: 11 Beitrittsdatum: 10.09.09 Neueste Beiträge
Hola,

Me he creado un nuevo LayoutType como dice en este wiki, con la finalidad de añadirle campos personalizados en el typeSettingsProperties, pero el problema es que no le podemos añadir portlets.

Directamente no aparecen los botones "Añadir portlet" y "Plantilla de página". Leyendo este post he visto que está hardcodeado y he conseguido hacer que salgan creando un CustomServicePreAction que sobrescriba al de liferay como se dice en este post, pero al pinchar en cualquiera de los 2 links, me aparece la capa en blanco (adjunto pantallazo).

¿Qué tendría que hacer para poder añadir portlets a un LayoutType?

Gracias
Saludos
thumbnail
Julio Camarero, geändert vor 14 Jahren.

RE: Nuevo LayoutType con portlets

Liferay Legend Beiträge: 1668 Beitrittsdatum: 15.07.08 Neueste Beiträge
Hola Jose Ignacio,

el portlet que muestra el listado de portlets a añadir se llama "layout configuration". Si miras el código, verás que también está hardcodeado a los layout de tipo portlets. Tendrás que modificarlo para que también contemple tu plantilla.

Te recomiendo que no modifiques nunca directamente el nucleo de liferay, sino que utilices siempre que puedas los plugins (tipo hook para este caso) o el entorno de extensión (EXT) cuando no sea posible.

Haciendo una búsqueda en el portal por LayoutConstants.TYPE_PORTLET verás que algunas funcionalidasdes están limitadas en más sitios, y a medida que avances probablemente te irás encontrando otros problemas. Estás seguro de que la mejor solución para tu problema era crearte un nuevo LayoutType? Esto es bastante complejo.....

un saludo!

Julio Camarero
Liferay España
thumbnail
Jose Ignacio Honrado, geändert vor 14 Jahren.

RE: Nuevo LayoutType con portlets

New Member Beiträge: 11 Beitrittsdatum: 10.09.09 Neueste Beiträge
Hola Julio,

Efectivamente me fui encontrado con una serie de problemas añadidos, como comentas. El objetivo de esto era guardar unos campos personalizados, y luego obtener todas las páginas de este tipo usando el API y por consiguiente esos valores. De está manera cuando se creaba una página teníamos un objeto, que luego podiamos usar para listados y demás.

Finalmente hemos optado por hacer uso del Service Builder para crear nuestro propio objeto, lo cual nos hace la vida infinitamente más fácil teniendo ya hechos los métodos CRUD.

Gracias
Saludos