Портлет jquery - параметр для каждого портлета?

Мне удалось заставить портлет jquery работать на моем JSP с бэкэндом java, используя этот пример в качестве отправной точки: http://jqueryui.com/demos/sortable/#portlets

для каждого портлета мне нужно добавить дополнительный значок в заголовок портлета, в зависимости от того, есть ли у пользователя разрешение на этот портлет. так это что-то вроде

$(".portlet").addClass("ui-widget ui-widget-content ui-helper-clearfix ui-corner-all")
.find(".portlet-header")
    .addClass("ui-widget-header ui-corner-all")
    .prepend('<span class="ui-icon ui-icon-plusthick"></span>')
    /* if user has permission for this portlet */
    .prepend('<span class="ui-icon ui-icon-pencil"></span>')
    .end()
.find(".portlet-content");

$(".portlet-header .ui-icon-pencil").click(function() {
    alert($(this).parents('.portlet').attr('id'))
/* go to a specific page for this portlet */
});

мой вопрос немного базовый - как лучше всего передать эту информацию каждому портлету в jquery? проходной параметр? (если да, то как?) скрытые div? я не использовал jquery достаточно долго, чтобы знать лучший способ.


person Community    schedule 19.01.2010    source источник


Ответы (1)


Поскольку он является обобщенным для всех портлетов и связанных с пользовательским интерфейсом, лучшим местом для его реализации является Theme/Skin.

Лучший способ реализовать это ИМХО выглядит следующим образом

  • Каждый портлет будет иметь поле Preference: привилегия
  • Администратор установит значение для «привилегии» (у кого есть права, например, «администратор»)
  • Реализовать логику отображения значка заголовка в Skin/Theme. Где он получит настройки для конкретного портлета и сверится с ним. И соответственно отобразит значок заголовка.
person Rutvij Shah    schedule 30.01.2010