WordPress Plugins beim Einsatz als CMS

WordPress eignet sich für kleine, einfache Websites auch ganz gut als CMS. Es ist schnell eingerichtet, bietet viele Erweiterungen und ganz wichtig – der Kunde findet sich sehr schnell zurecht. Oft habe ich sogar nur am Telefon „geschult“. Grundlage ist immer ein einfaches CMS-Template. Artikel, Kommentare usw. – alles was nicht gebraucht wird ist deaktiviert. Neben […]

Mehrsprachige Websites kodieren

Ich musste mal ein PHP-Frameworks für englische, russische, chinesische und arabische Inhalte entwickeln. Im Internet findet sich dazu auch eine Vielzahl von Artikeln, über die „richtige“ Kodierung von mehrsprachigen Websites. Wie lassen sich also z.B. kyrillische, chinesische oder auch arabische Zeichen korrekt darstellen. Leider widersprechen sich manche der Tipps. Daher nun meine Vorgehendweise (getestet auf […]

Harmonische Farben finden

Hier ein paar Online-Tools zum Zusammenstellen harmonischer Farben: COLRD: http://colrd.com ColorBlender http://colorblender.com/ Adobe Color CC: https://color.adobe.com

ASP.NET: Twitter Feeds per XmlDataSource- und Repeater-Control in Websites einbinden

RSS- bzw. Atom-Feeds von Twitter, Blogs usw. lassen sich sehr einfach mit dem XmlDataSource-Control in die eigene Website einbinden. Dazu ist quasi keine einzige Zeile „richtiger“ Code notwendig, sonder lediglich zwei ASP.NET-Controls. Das Beispiel bezieht sich explizit auf einen Twitter Atom-Feed, lässt sich aber an jeden beliebigen anderen Feed anpassen. Wichtig: Immer genau die XML-Struktur […]

ASP.NET: Einfache Log-Datei schreiben

Muss mal schnell was mitgeloggt werden, bietet sich z.B. der StreamWriter an. using System.IO; … string fileName = String.Format(„log-{0}.txt“, DateTime.Now.ToString(„yyyy-MM-dd“)); string dataRow = String.Format(„{0}; {1}; {2}“, DateTime.Now, var1, var2); StreamWriter myFile = new StreamWriter(Server.MapPath(„~/App_Data/“ + fileName), true); myFile.WriteLine(dataRow); myFile.Close();

ASP.NET: Canonical-Link-Tag dynamisch anpassen und einfügen

Doppelte Inhalte mögen Suchmaschinen bekanntermaßen nicht. Doch meistens können Webseiten über http://domain.de und http://www.domain.de erreicht werden. Für die Suchmaschine sind das zwei unterschiedliche Dinge. Ein recht einfacher Ansatz mit ASP.NET kann so aussehen: // using System.Web.UI.HtmlControls; HtmlLink canonicalLink = new HtmlLink(); canonicalLink.Attributes[„rel“] = „canonical“; canonicalLink.Href = Request.Url.AbsoluteUri.Replace(„www.“, „“); Page.Header.Controls.Add(canonicalLink); Das ganze kommt dann z.B. in den Event-Handler Page_Load (Master-Datei, […]

ASP.NET: Telefonliste mit Initiale per Repeater auflisten

Hier mal ein Quick ’n‘ Dirty-Ansatz einer Telefonliste mit Initialen. .aspx <asp:Repeater ID=“Repeater1″ runat=“server“> <HeaderTemplate> <table> </HeaderTemplate> <ItemTemplate> <%#SetInitial(Eval(„Nachname“).ToString())%> <tr> <td><a href=“profil.aspx?ID=<%#Eval(„ID“)%>“> <%#Eval(„Nachname“)%>, <%#Eval(„Vorname“)%></a></td> <td><%#Eval(„Telefon“)%></td> <td><%#Eval(„EMail“)%></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> .aspx.cs // C# private char initialOld; public string SetInitial(string lastName) { char initial = Convert.ToChar(lastName.Substring(0, 1).ToUpper()); if (initial == ‚Ä‘) initial = ‚A‘; […]

ASP.NET: TextBox JavaScript-OnClick-Ereignis hinzufügen (= Pseudo OnClientClick)

Leider gibt es bei TextBoxen kein OnClientClick-Ereignis, um z.B. bei Klick darauf den Inhalt zu entfernen. protected void Page_Load(object sender, EventArgs e) { TextBox1.Attributes.Add(„onclick“, „this.value=“;“); } Ein anderes Beispiel: Einen LinkButton „disablen“ bei OnClick. (Gesehen bei http://www.dotnetsnippets.com) protected void Page_Load(object sender, EventArgs e) { LinkButton1.Attributes.Add(„onclick“, „this.disabled=true; this.onclick=function() { return false; }“); }

ASP.NET: Daten (z.B. Datensatz-ID) einem Button per CommandArgument mitgeben

Hier im Beispiel: Übergabe der ID beim Klicken eines Buttons in einem Repeater: <asp:Repeater ID=“Repeater1″ runat=“server“> <ItemTemplate> <%# Eval(„Title“)%> <asp:Button ID=“Button1″ runat=“server“ Text=“löschen“ CommandArgument=′<%# Bind(„ID“)%>′ OnCommand=“Button1_Command“ /><br /> </ItemTemplate> </asp:Repeater> … protected void Button1_Command( object sender, CommandEventArgs e ) { int delId = Convert.ToInt32(e.CommandArgument); … }

ASP.NET: Mehrere Buttons / Formulare auf einer Seite

Hat man mehrere Buttons auf einer Seite, muss man explizit angeben, welcher Button beim bestätigen über die Tastatur (Enter), ausgelöst werden soll. Das liegt daran, daß nur ein form-Tag verwendet werden darf. Ein bestimmter Button kann z.B. im Form-Tag angegeben werden: <form id=“form1″ runat=“server“ defaultbutton=“Button2″> Bei mehreren Formularen dann einfach mit einem Panel umschließen: <asp:Panel […]