Фирменный стиль SharePoint меняет SiteLogoUrl по темам, событие не применяется - PullRequest
3 голосов
/ 14 апреля 2009

До этого момента нам еще не требовалась новая главная страница для определения сайта SharePoint. У нас есть тема, которую некоторые наши клиенты будут использовать в зависимости от корпоративного фирменного стиля SharePoint.

В настоящее время я изменяю «SiteLogoUrl» в моем «FeatureReceiver» для события «FeatureActivation», используя следующий код.

    public override void FeatureActivated(SPFeatureReceiverProperties properties) {
        AddThemeToSpThemes(THEME_ID, THEME_NAME, THEME_DESC, THEME_IMAGE, THEME_IMAGE);
        SPWeb site = properties.Feature.Parent as SPWeb;
        if (site != null) {
            site.AllowUnsafeUpdates = true;
            site.SiteLogoUrl = site.Url + "images/thLogo.gif";
            site.Update();
        }
    }

FeatureActivation - не лучшее событие для запуска, я бы предпочел применить событие к теме, но, похоже, не могу его найти. Возможно, я не подхожу к этому правильно.

Ответы [ 2 ]

1 голос
/ 14 апреля 2009

Применение темы не имеет события.

Возможно, вы делаете это задом наперед (хотя очевидный путь). Как насчет того, чтобы ваш приемник функций активировал тему программно, а также настраивал ваш логотип?

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

Стоит рассмотреть возможность использования Alternate CSS вместо тем . Это также может быть установлено на вашем объекте SPWeb (AlternateCssURL).

0 голосов
/ 14 апреля 2009

Ваш код должен работать просто отлично. Методы FeatureActivation / FeatureDeactivating - это места, где вы можете добавить пользовательский код.

Из любопытства, почему вы подумали, что вы не используете правильное событие? В sharepoint не так много событий, а функциональность темы довольно ограничена. Файлы CSS обширны, но сторона .net мала.

Я предполагаю, что вы хотите использовать SiteLogoUrl, даже если тема меняется (чтобы ваши клиенты могли выбрать интересную тему для своего сайта, сохраняя логотип).

Кроме того, главная страница не является темой, поэтому я не уверен, почему вы сказали: «До этого момента нам еще не нужна новая главная страница для определения сайта SharePoint».

Приветствия

Мт.

...