в

Беларусь

Belarusian .NET User Group

Динамическое ECB меню

Последнее сообщение от: dr.gigabit   02-09-2009 ч:мм вв   Ответов: 5
Страница 1 из 1 [Всего 6 записей]
Сортировать сообщения: Предыдущий Следующий
  • фев 06 2009, 05:11

    • plus
    • Зарегистрирован: 02-06-2009
    • Сообщения:2

    Динамическое ECB меню

    Может у кого-нибудь был опыт по работе с ECB менюшкой? Как динамически скрыть какой-нибудь пункт меню? Если, например, в поле айтема листа воркфлоу значение Approved, то прятать пункт меню "Workflows"
    Теги :,
  • фев 06 2009, 05:17 в ответ на

    • paranoekk
    • Зарегистрирован: 02-06-2009
    • Сообщения:3

    Re: Динамическое ECB меню

    Доброго дня.

    Под ECB подразумевается контекстное меню SPListItem'a?

  • фев 06 2009, 05:28 в ответ на

    • plus
    • Зарегистрирован: 02-06-2009
    • Сообщения:2

    Re: Динамическое ECB меню

    paranoekk:

    Доброго дня.

    Под ECB подразумевается контекстное меню SPListItem'a?

    Да. Именно оно
  • фев 06 2009, 05:33 в ответ на

    • paranoekk
    • Зарегистрирован: 02-06-2009
    • Сообщения:3

    Re: Динамическое ECB меню

     

    Насколько я знаю, кастомизировать это контекстное меню так же просто как и меню самого листа (написов обработчик события)  нельзя. Единственный способ который приходит на ум - это изменить javascript, который отвечает за формирование этого конекстного меню. Но править core javascript в sharepoint крайне не рекомендуется.
  • фев 06 2009, 05:44 в ответ на

    • Groff
    • Зарегистрирован: 02-06-2009
    • Сообщения:1

    Re: Динамическое ECB меню

    Изменять стандартный js шарепоинта, отвечающий за отрисовку меню не надо - это верх глупости. Некоторые функционал из core.js можно дополнить определив собственные функции с префиксом Custom_. Например в core.js есть стандартная функция AddListMenuItems которая отвечает за формирование менюшки айтема. В начале данной функции можно увидеть следующее:

    if (typeof(Custom_AddListMenuItems) !="undefined") {

       if (Custom_AddListMenuItems(m, ctx)) return;

    }

    Т.е. можно определить свою функцию Custom_AddListMenuItems, которая будет добавлять собственные пункты меню. На счет скрытия менюшек пока точно сказать не могу.

  • фев 09 2009, 12:07 в ответ на

    • dr.gigabit
    • Зарегистрирован: 07-30-2008
    • Минск
    • Сообщения:95

    Re: Динамическое ECB меню

    Менять отрисовку не обязательно, нужо просто при загрузке сраницы запускать дополнительный клиентский скрипт (на window.onload или $(document).ready если используете jQuery), который смотрит значения нужных айтемов, если они равны некому значению -- ищет меню данного айтема и скрывает пункт меню. jQuery (http://jquery.com/) умеет делать hide DOM элементам.

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

     

     

    .NET UG Leader,
    Microsoft MVP
    Теги :,
Страница 1 из 1 [Всего 6 записей]
Community Server (Commercial Edition)