Изменения в ядре SharePoint 2010 corev4.css не отражаются на дочерних сайтах - PullRequest
0 голосов
/ 12 января 2011

Когда мы вносим изменения в наш файл corev4.css в папке _themes в корне нашего сайта SharePoint 2010, он отображается в корневом URL-адресе, но не на каких-либо дочерних сайтах, даже если мы установили флажок «Сбросить все дочерние сайты для наследования»настройки главной страницы системы ".

http://SiteName/_Layouts/ChangeSiteMasterPage.aspx

Существуют физические изменения, поэтому мы знаем, что MasterPage наследуется, но изменения design / cssне на дочерних сайтах .....

Почему это?

Редактировать

Хорошо, мне удалось заставить все дочерние сайты выглядеть одинаководобавив следующую строку кода в тег head в моем MasterPage, и это сработало.

<SharePoint:CssRegistration Name="/_styles/S1.css" runat="server" EnableCssTheming="true" After="true"/>

Но теперь, когда я меняю тему на любом из моих сайтов, она меняет ее на правильную, но игнорируетмои когти от моего S1.css

Ответы [ 5 ]

4 голосов
/ 12 января 2011

Было бы лучше (и рекомендуется), если бы вы добавили переопределения к стилям corev4.css в своем собственном файле Custom Css и указали это как альтернативный файл CSS, используя настройки сайта (ту же страницу, где вы можете изменить главную страницу )

Он будет загружен позже, чем corev4.css, и поэтому будет использовать ваши стили вместо готовых.

Edit:

Добавить custom.css на свой сайт (т.е. в библиотеку стилей). Затем укажите сайт на этот файл (настройка называется альтернативным CSS и может быть найден в разделе look & feel -> masterpage).

В вашем Css-файле определите стили с тем же именем, что и в corev4.css. Эти стили переопределения, потому что sharepoint будет ссылаться на ваш файл CSS ПОСЛЕ того, как он ссылается на corev4.css.

Итак, если вы хотите переопределить некоторые стили области поиска, вы должны определить стиль с именем .s4-search в вашем CSS. определив здесь правила, те же правила в том же классе в corev4.css будут переопределены

1 голос
/ 28 октября 2011

Главная страница имеет много общего с наследованием, потому что все управляется SharePoint:CssLink component located in the master.

Управление CSS и темами в SharePoint 2010 очень сложно.

Я потратил часы на эту тему.

Вы можете проверить это ...

http://mosshowto.blogspot.com/2010/06/sharepoint-2010-registering-css.html

и есть еще один, где, я думаю, есть ответ Этьену:

http://mosshowto.blogspot.com/2009/12/sharepoint-2010-wiki-styles.html

Теперь, когда тема Bittersweet применяется к сайту, если вы попытаетесь изменить файл corev4.css, вы не увидите никаких изменений, потому что CSS теперь хранятся в файле, автоматически сгенерированном SharePoint 2010 и находится в папке сайта с таким URL:

/_themes/20/corev4-8A0ABD2F.css?ctag=21

Сайт SharePoint будет повторно использовать файл corev4.css, только если вы примените опцию по умолчанию для тем сайта SharePoint, то есть не будет темы. Это означает, что не рекомендуется изменять стили, применяя изменения к файлу themable/corev4.css, поскольку эти изменения не будут видны для сайтов, для которых применяется тема SharePoint 2010. Это стоит, за исключением одного случая, если мы хотим удалить стили, предоставляемые в версии «из коробки» SharePoint 2010 . Мы проиллюстрируем этот случай на примере реального мира позже. Это приводит к поиску средств для изменения стилей в пользовательском файле

Надеюсь, это поможет ...

Марк

0 голосов
/ 27 июня 2013

, насколько я понимаю, он не хранится в библиотеке стилей, поэтому в этом случае он будет храниться в 14hive:

не перезаписывайте sharepoint corev4.css, вместо этого переведите его в другой стиль, если вы хотите перезаписатьс тем же идентификатором или классом, что хорошо!просто используйте! важный после каждого элемента, например:

.S4-td
{
   width:100% !important;
}

Важно перекрывает любой другой CSS!Имея After = "corev4.css" сделает это тоже;) но если вы хотите явно сказать, что хотите только этот стиль, то я бы поставил метод выше!

для использования выше в пользовательских css, используйте это на главной странице:

<!-- link to our custom css  -->
<SharePoint:CssRegistration ID="CssRegistration1" name="/_layouts/customcss/css/style.css" After="corev4.css" runat="server"/>

или

<!-- link to our custom css  -->
<SharePoint:CssRegistration ID="CssRegistration1" name="/Style%20Library/style.css" After="corev4.css" runat="server"/>

просто для справки, если вы хотите сделать выше, но хотите знать, какие классы и идентификаторы в v4, чем он расположен здесь:

C: \ Program Files \ Common Files \ Microsoft Shared \ Расширения веб-сервера \ 14 \ TEMPLATE \ LAYOUTS \ 1033 \ STYLES \ corev4.css

в вашем случае то же самое применимо выше!

<SharePoint:CssRegistration ID="CssRegistration1" Name="/_styles/S1.css" After="corev4.css" runat="server"/>

, который должен добиться цели;)

https://sharepoint.stackexchange.com/questions/71591/where-is-corev4-css-located-in-sharepoint-designer-2013

0 голосов
/ 12 января 2011

MasterPage имеет очень мало общего с темой наследования.

Для того, чтобы наследовать темы, вам необходимо активировать различные функции публикации (по крайней мере, область сайта, вероятно, также и сеть), затем вы получите возможность на странице Настройки сайта => Темы сбросить дочерние сайты в также унаследовать тему.

Как говорит Колин, изменение файла corev4.css не является идеальным вариантом, если пакет обновления Microsoft обновляет его и перезаписывает ваши изменения.

0 голосов
/ 12 января 2011

У дочернего сайта будет собственная папка _themes.Вероятно, по этой причине вы не видите изменений в дочерних сайтах.

В 2007 году файл core.css находился в библиотеке стилей, и поэтому эта проблема никогда не возникала.В библиотеке есть CSS, на который ссылается ваша главная страница?Это тот CSS, который вы должны в идеале модифицировать вместо одного в _themes.

...