掲示板

Nuevo LayoutType con portlets

thumbnail
14年前 に Jose Ignacio Honrado によって更新されました。

Nuevo LayoutType con portlets

New Member 投稿: 11 参加年月日: 09/09/10 最新の投稿
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
14年前 に Julio Camarero によって更新されました。

RE: Nuevo LayoutType con portlets

Liferay Legend 投稿: 1668 参加年月日: 08/07/15 最新の投稿
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
14年前 に Jose Ignacio Honrado によって更新されました。

RE: Nuevo LayoutType con portlets

New Member 投稿: 11 参加年月日: 09/09/10 最新の投稿
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