Сообщения в блоге Sharepoint: сортировка по дате публикации - PullRequest
1 голос
/ 24 февраля 2010

У меня есть интранет-портал sharepoint, на котором есть много блогов, и у них индивидуальный дизайн. Мы используем веб-часть формы данных по умолчанию для отображения сообщений в блоге. По умолчанию сообщения сортируются по дате создания.

У меня есть новое требование от клиента с просьбой изменить критерии сортировки на «Дата публикации». Какой самый простой способ добиться этого без использования SharePoint Designer.

Примечание: Создание нового представления не является решением, так как я не смогу применить индивидуальный дизайн.

Ответы [ 4 ]

3 голосов
/ 24 февраля 2010

Почему вы не можете использовать SharePoint Designer?Это было бы намного быстрее.Вероятно, вы могли бы сделать следующее:

  1. Экспортировать рассматриваемую веб-часть и сохранить ее где-нибудь.
  2. Открыть ее в своем любимом текстовом / XML-редакторе (я неравнодушен к Notepad ++)
  3. Прокрутите вниз до узла <property name="DataSourcesString" type="string">
  4. Возможно, ваш заказ выражен в запросе CAML в этом узле.Вы ищете что-то вроде этого:

& lt; OrderBy & lt; FieldRef Name = & quot; Создано & quot;Возрастание = & Quot; ИСТИНА "/ & GT; & Lt; / OrderBy & GT;

Заменить "Создано" внутренним именем поля для опубликованной даты, которое я считаю "PublishingStartDate" Импортировать веб-часть обратно на страницу, с которой она пришла
0 голосов
/ 23 марта 2010

Спасибо, Цинкорп, Я мог бы отсортировать пост по дате публикации. Но у меня есть более 20 блогов во внутренней сети, и у меня нет доступа к производственному серверу. И на основе решения Zincorp мне нужно создать новые веб-части для каждого блога или изменить значение параметра, а в моей ситуации это невозможно.

Так что я достиг этого по-другому.

Сначала я создаю веб-часть, которая читает блог с текущего сайта.

string url = Request.Url.ToString();
             SPSite  site = new SPSite(url.Substring(0, url.LastIndexOf('/')));

И с помощью запроса CAML я мог читать и сортировать сообщения по дате публикации.

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

using (SPWeb spWebTest = spSiteTest.OpenWeb())
   {
     SPWebPartCollection webparts = spWebTest.GetWebPartCollection("default.aspx", Storage.Shared);
     for (int k = 0; k < webparts.Count; k++)
     {
       //get reference to webpart
       Microsoft.SharePoint.WebPartPages.WebPart wp = webparts[k];

       //check webpart Title to find webpart which is to be removed
       if (wp.Title == "Posts")
       {
         //delete webpart
         webparts.Delete(wp.StorageKey);

         //update spWeb object
         spWebTest.Update();  
                                }                                                                                                                                       }

//create new webpart object            
     WebPartToBeAdded wpNew = new WebPartToBeAdded();      

     //set properties of new webpart object     
     wpNew.ZoneID = "1";     
     wpNew.Title = "LatestPost";     
     wpNew.ChromeState = System.Web.UI.WebControls.WebParts.PartChromeState.Normal;     
     wpNew.ChromeType = System.Web.UI.WebControls.WebParts.PartChromeType.None;      

     //add new webpart object to webparts collection     
     webparts.Add(wpNew);      
   }
0 голосов
/ 17 марта 2010

Можно ли экспортировать веб-часть и изменить поле сортировки в загруженном XML-файле .webpart?

0 голосов
/ 24 февраля 2010

Не можете ли вы отредактировать текущее представление, чтобы оно сортировалось по дате публикации? (Я думал, что по умолчанию была опубликована дата ..)

...