2009-09-14 11 views
2

По умолчанию MOSS направляет браузерные формы InfoPath на страницу /_layouts/formserver.aspx с параметрами строки запроса, которые определяют форму для отображения или редактирования. Мы определили нашу собственную страницу (по ряду причин) и хотели бы направить формы в библиотеке форм. Страница может быть размещена в той же папке _layouts, в библиотеке документов, это не имеет большого значения.Как изменить сервер формы InfoPath по умолчанию Url для библиотеки форм в SharePoint

Похоже, что должен быть элемент linkeage (надеюсь, в форме настройки конфигурации), который сообщает SharePoint, куда направлять формы.

Спасибо!

ответ

2

Если вы используете списки SharePoint или библиотеки форм для отображения списка форм, вы можете добавить переписку jquery (либо в веб-часть пользовательского редактора, либо в главную страницу), чтобы найти ссылки на ссылку FormServer.aspx.

<script type="text/javascript" src="~/_layouts/jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 

    //Rewrite Form Links to Open in Custom Page 
    $("a[href*='/_layouts/FormServer.aspx']").each(function() 
    { 
    var formFileName = this.href.figureOutWhatFormAndParamsYouNeed() 
    var formServerUrl = 'https://server.example.com/_layouts/CustomPage.aspx' 
    this.href = formServerUrl 
    }); 
}) 
</script> 
+0

Хорошее мышление вне коробки. Я искал какую-то конфигурацию, но пока мы ее не найдем, ваше решение может быть одним из них. – Tom

+0

Как вы передаете идентификатор формы, чтобы открыть, если это не новая форма? – PeterX

1

Посмотрите на ServerFiles в 12 Hive под «Template \ XML». У этого есть расширения файлов и сопоставление с URL-адресом переадресации.

Вы можете видеть, что есть сопоставление для файлов XSN и XML в отношении InfoPath.

Я не пробовал это, и, очевидно, нормальные оговорки применяются при изменении файлов в 12 Hive.