Изменить URL-адрес ссылки редактирования блока управления (ECB) в SharePoint - PullRequest
0 голосов
/ 28 мая 2009

Есть ли способ динамического изменения гиперссылки, связанной с меню ECB в WSS 3.0? Например, у меня есть список с 2 полями. Одно поле скрыто и является ссылкой, другое - полем заголовка с меню ECB. В настоящее время поле заголовка ссылается на страницу просмотра элемента, но мы хотим, чтобы оно связывалось с URL-адресом поля ссылки. Это возможно?


ОБНОВЛЕНИЕ - 29.05.09 9:00 У меня есть это до сих пор. См. Сообщение TechNet .

<script type="text/javascript">
var url = 'GoTo.aspx?ListTitle='+ctx.ListTitle;
url += '&ListName='+ctx.listName;
url += '&ListTemplate='+ctx.listTemplate;
url += '&listBaseType='+ctx.listBaseType;
url += '&view='+ctx.view;
url += '&';

var a = document.getElementsByTagName('a');
for(i=0;i<=a.length -1;i++)
{
   a[i].href=a[i].href.replace('DispForm.aspx?',url);
}
</script>

Это дает мне такую ​​ссылку (отформатированную, чтобы ее было легче увидеть):

GoTo.aspx
?ListTitle=MyList
&ListName={082BB11C-1941-4906-AAE9-5F2EBFBF052B}
&ListTemplate=100
&listBaseType=0
&view={9ABE2B07-2B47-4390-9969-258F00E0812C}
&ID=1

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

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

Ответы [ 3 ]

0 голосов
/ 30 мая 2009

Заголовок / ссылка для редактирования меню является вычисляемым полем - в основном это комбинация заголовка и идентификатора элемента. Если вы посмотрите на определение поля (мне кажется, что оно находится в fields.xml), вы сможете создать измененную версию в вашем schema.xml, которая использует поле url в своем RenderPattern.

0 голосов
/ 30 мая 2009

Следуя ответу Тома, вы можете использовать Генератор решений SharePoint в VseWss 1.3 для создания решения Visual Studio, которое может воссоздать ваш список. Вы упадете в обморок, когда увидите огромное количество XML, которое представления используют в файле schema.xml, но вы увидите шаблон рендеринга, на который ссылался Том, и вы сможете получить общее представление о том, как изменить его в соответствии с вашими требованиями. необходимо.

Должен любить SharePoint. Где небольшие настройки означают «возьми то, что я тебе даю, или перепиши это с нуля»

0 голосов
/ 29 мая 2009

Я думаю, что самое простое решение, которое я регулярно использую для изменения функциональности sharepoint по умолчанию без необходимости устанавливать код на стороне сервера, - это добавить на страницу некоторый JavaScript, чтобы внести необходимые изменения.

Веб-часть редактора контента идеально подходит для этого, если вы не хотите редактировать сам источник страницы. Вместе с панелью инструментов разработчика IE или Firebug для проверки элементов, которые вы хотите отредактировать, вы сможете достичь того, что вам нужно, всего за пару строк javascript.

Дайте мне знать, если вам нужна дополнительная информация о получении этой работы.

...