Sharepoint 2007 sitelogo per audience.

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • remcoXP
  • Registratie: Februari 2002
  • Laatst online: 21:09
Voor mijn werk moet ik een sharepoint configureren en designen. Nu is dat laatste een vrij pittige klus voor de masterfile/cssfiles/themes enz. maar beetje bij beetje en door veel lezen en proberen kom ik hier wel uit.

Maar nu heb ik een vraag waar ik al een tijdje meeloop, een plaatje plaatsen per audience.

Wij draaien een extra frontend voor 1 bedrijf wat bestaat uit 2 filialen. Vanaf beide locaties kan sharepoint worden benaderd met de onderliggende sites en hier kan per site/pagina/webpart een audience ingesteld worden. Op deze manier kunnen we de bezoekers van beide locaties op 1 pagina (bijna) hetzelfde laten zien.

\In de hoek is bijvoorbeeld een image webpart geplaatst. Medewerkers van locatie 1 krijgen het er plaatje 1 en hetzelfde voor medewerkers van locatie 2.

Dit is gedaan dmv een image Webpart, echter wil ik nu de site image ook zo configureren.
Het logo wat linksboven in de hoek geplaats is moet ook audience afhankelijk worden. Ik heb geprobeerd in de masterfile een image webpart te plaatsen maar dit leverde fouten op is er geen simpelere code/manier om dit toch te realiseren.

onderliggende sites kun je via site settings een logo toekennen. maar op sommige sites moeten beide locaties kunnen. Kan iemand mij verder helpen?

Gadget-freakz.com. Feedback en tips zijn welkom.


Acties:
  • 0 Henk 'm!

Verwijderd

En hoe kan gezien worden dat diegene van dat filiaal is?
Rechtengroep ofzo? Of misschien ip adres?

Dan zou je het misschien gewoon simpel kunnen oplossen met een C# scriptje in de masterpage.

Acties:
  • 0 Henk 'm!

  • remcoXP
  • Registratie: Februari 2002
  • Laatst online: 21:09
op rechten inderdaad. gebruikersgropen uit het active directory.
met een c# script mogelijk waarschijnlijk, maar dan moet je dat wel beheersen.

Gadget-freakz.com. Feedback en tips zijn welkom.


Acties:
  • 0 Henk 'm!

Verwijderd

Stop dit op de plek waar je logo moet.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<%
            using (SPSite site = SPContext.Current.Site as SPSite)
            {
                using (SPWeb web = site.RootWeb as SPWeb)
                {
                    SPUser user = SPContext.Current.Web.CurrentUser;
                    foreach (SPGroup groep in user.Groups)
                    {
                        if (groep.Name == "A")
                            Console.WriteLine("<img src='plaatje1.jpg' />");
                        else if (groep.Name == "B")
                            Console.WriteLine("<img src='plaatje2.jpg' />");
                    }
                }
            }
%>

Volgens mij zou het zoiets moeten zijn.

Acties:
  • 0 Henk 'm!

  • remcoXP
  • Registratie: Februari 2002
  • Laatst online: 21:09
Sorry voor de late reactie maar ik ga het straks gelijk proberen!
alvast bedankt en ik zal laten weten hoe het werkt.

Gadget-freakz.com. Feedback en tips zijn welkom.


Acties:
  • 0 Henk 'm!

  • Glorix Jim
  • Registratie: Februari 2000
  • Laatst online: 14-09 11:08
Zo zou het moeten met de juiste Dispose regels in achting nemend..
Verwijderd schreef op woensdag 16 december 2009 @ 22:36:
Stop dit op de plek waar je logo moet.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%
//Nooit SPContext object disposen.. dus doe of
a)         SPSite site = SPContext.Current.Site
b)         using(SPSite site = new (SPContext.Current.Site.Id)){
           
//Nooit het rootweb disposen aangezien deze deel uitmaakt van het disposen tijdens het SPSite object
                SPWeb web = site.OpenWeb();
                
                    SPUser user = SPContext.Current.Web.CurrentUser;
                    foreach (SPGroup groep in user.Groups)
                    {
                        if (groep.Name == "A")
                            Console.WriteLine("<img src='plaatje1.jpg' />");
                        else if (groep.Name == "B")
                            Console.WriteLine("<img src='plaatje2.jpg' />");
                    }
                }
            }
%>

Volgens mij zou het zoiets moeten zijn.
Daarnaast kan je opvragen in het ObjectModel of een gebruiker lid is van een audience (zie http://msdn.microsoft.com/en-us/library/ms550183.aspx), dus ik zou dat pad bewandelen :)

[ Voor 11% gewijzigd door Glorix Jim op 27-12-2009 16:37 ]

Pagina: 1