Dagens sitat

Det hender vi for spørsmål om vi har en ferdig modul for "ord for dagen" eller "dagens sitat". En av våre ansatte har på fritiden laget et eksempel som vi gjerne vil dele.

Det lages først et enkelt feltsett med feltene som skal brukes. I dette Exampleet bruker vi disse:

  • Tittel (tekstboks, brukes kun internt)
  • Sitat (tekstfelt, teaser-feltet)
  • Forfatter (tekstboks, author-feltet)
  • Dag i måned (tekstboks, intSortField1)

Det siste feltet angir hvilken dag i måneden sitatet skal vises. Scriptet tar høyde for at det ikke angis sitat for alle dager.

TemplateId til feltsettet som ble opprettet skal angis i koden under.

Dette er ascx-filen. Den kan jo for Example hete Element.DailyQuote.ascx:

<%@ Control Language="C#" Inherits="eR2UserControl" %>
<%@ Import Namespace="eR2" %>

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        var randomQuote = (from i in db.PublishedItems
                              where i.TemplateId == [ANGI ID HER]
                              && i.intSortField1 >= DateTime.Now.Day
                              orderby i.intSortField1 descending
                              select i).FirstOrDefault();

        if (randomQuote != null)
            litQuote.Text = randomQuote.Teaser + " - " + randomQuote.Author;
        else
            litQuote.Text = "Fant ikke sitat";
    }
</script>

<asp:Literal ID="litQuote" runat="server"></asp:Literal>

Så når en har lagt inn TemplateId i koden og tilpasset med eventuell html, så er det bare å inkludere den et sted på siden.

Vi tar ikke ansvar for eventuelle feil i koden.