I've created a site template. Within this template I've set all forms to launch in a dialog, via List Settings, Advanced Settings, Dialogs, Launch forms in Dialog?, Yes. However, when I create a new site from the template, all list default back to No. Is there a way to set the default for the entire site to launch in dialog? I've got about 40 lists and will be creating about 30 subsites with this template. Having to go and set each list on each site will be tedious.
2 Answers
You can do that for all lists/library within your site by setting NavigateForFormsPages
to false via PowerShell.
Open SharePoint Management Shell as Administrator.
Run the following script line by line
$web = Get-SPWeb -Identity http://rootsite/subsite foreach ($list in $web.Lists) { $list.NavigateForFormsPages = $false; $list.Update(); }
where false
indicates that the list form page is launched in a modal dialog
For more details check SPList.NavigateForFormsPages property
-
-
This worked for me thanks very much - Side note for everyone, you need to login to the server as the farm account or you might get a permission denied error.– JordanCommented Jul 17, 2017 at 17:35
-
@Jordan You are welcome , please don't forget to upvote the helpful answers thanks :) Commented Jul 17, 2017 at 20:20
I am not aware of any global setting that would sort you out.
If that's not possible, the next logical step would be to automate the process by using PowerShell.
You would have to grab the web you created using the template, then get collection of all lists.
After you have that, iterate through the collection of list objects, update list settings so that all forms launch in dialog.
I know it's not ideal but with SharePoint, if there's no solution fitting issue like yours, you can pretty much at least automate it and cut the "finger-to-keyboard" shock ratio quite a lot.
Here's a SharePoint 2013 PowerShell overview: