Kategorien
Joomla Templates Stylesheets Webentwicklung

Joomla Template Reihe K12

Joomla Logo flat

Joomla Templates sind Vorlagen oder Designs, die auf der Joomla-Plattform verwendet werden. Dies dient zur Gestaltung des Erscheinungsbildes und der Funktionalität einer Website. Ein Joomla Template besteht aus einer Sammlung von Dateien, die das Aussehen und Verhalten der Website steuern, wie z.B. CSS-Dateien, JavaScript-Dateien, PHP-Dateien, Bilder und HTML-Vorlagen.

Ein Joomla Template ermöglicht es Benutzern, das Layout, die Farben, die Schriftarten, das Menü, die Positionen von Modulen und anderen Inhalten auf einer Joomla-Website anzupassen. Templates können entweder von Grund auf neu erstellt oder aus einer Vielzahl von vorgefertigten Vorlagen ausgewählt werden, die auf Joomla-Template-Marktplätzen verfügbar sind.

Joomla Templates sind ein wichtiger Bestandteil der Gestaltung von Websites auf der Joomla-Plattform, da sie die Benutzerfreundlichkeit und das Erscheinungsbild der Website maßgeblich beeinflussen.

Die Erstellung eines Joomla-Templates erfordert ein gewisses Verständnis von HTML, CSS und PHP, sowie Kenntnisse der Joomla-Architektur und der Funktionsweise von Templates.

Es gibt viele weitere Details und Feinheiten, die berücksichtigt werden müssen, um ein qualitativ hochwertiges Template zu erstellen. Es ist ratsam, sich mit der Joomla-Dokumentation und den Entwickler-Communities zu befassen, um weitere Informationen und Unterstützung zu erhalten.

https://www.w3.org/Style/CSS/Overview.de.htm

Dieses Template baut auf DIV-Container auf, besitzt eine feste Breite von 980px. Der primaere Font ist Tahoma. Das Zentrieren des Layouts erfolgt mittels automatischer Ränder:

Template – K12

#container{width: 980px; margin:auto;} 

Dieses Template ist getestet mit Firefox 4 und dem IE 8/9. Das Topmenue liegt auf “user4”, der banner auf “banner”, der newsflash auf “top”, latestnews auf “user1” und mostread auf “user2” Die CSS Datei ist beim W3C nach CSS Standard 2.1 validiert. Alle templatebezogenen Grafiken und Bilder sind selbst erstellt und bearbeitet. Auf Grund des Alters dieses Templates müsst ihr die Installationsprozedur (index.php) anpassen.

245 kB

Kategorien
Joomla Templates Stylesheets Webentwicklung

Joomla Template Reihe K17

Joomla Logo flat

Ein Joomla Template ermöglicht es Benutzern, das Layout, die Farben, die Schriftarten, das Menü, die Positionen von Modulen und anderen Inhalten auf einer Joomla-Website anzupassen. Templates können entweder von Grund auf neu erstellt oder aus einer Vielzahl von vorgefertigten Vorlagen ausgewählt werden, die auf Joomla-Template-Marktplätzen verfügbar sind.

https://www.w3.org/Style/CSS/Overview.de.html

Zusammenfassung

Dieses Template besteht aus vier Containern die absolut positioniert werden. Die Breite ist in Prozentwerten angegeben. Dadurch passt sich das Layout an eine veränderte Breite automatisch an. Es ist nur darauf zu achten das Bilder unter Umständen bei geringen Breiten aus den Boxen herauslaufen können. Das Logo und das Topmenue werden ebenfalls absolute über den Containern positioniert. Hierbei ist der Abstand vom rechten Rand als Prozentwert angegeben und “schwimmt” somit mit der Browserbreite mit.

Bei diesem Beispiel muss man ein wenig Rechnen. Die Summe der Breiten ergibt 98%. Der Abstand vom Body-Rand zur ersten Box, plus ihre Breite plus den Abstand ergibt die left-position der nächsten Box. (alles in %).

Wenn Du nun also unterschiedlich breite Boxen oder mehr Abstand möchtest, brauchst Du diese Werte nur gegeneinander zu verschieben.

Kategorien
Joomla Templates Webentwicklung

Joomla Template Reihe K04

Joomla Logo flat

Ein Joomla Template ermöglicht es Benutzern, das Layout, die Farben, die Schriftarten, das Menü, die Positionen von Modulen und anderen Inhalten auf einer Joomla-Website anzupassen. Templates können entweder von Grund auf neu erstellt oder aus einer Vielzahl von vorgefertigten Vorlagen ausgewählt werden, die auf Joomla-Template-Marktplätzen verfügbar sind.

https://www.w3.org/Style/CSS/Overview.de.html

Zusammenfassung

Dieses Template baut auf DIV-Container auf, besitzt eine feste Breite von 840px. Als primären Font verwende ich Tahoma. Das Zentrieren des Layouts erfolgt mittels automatischer Ränder:

#container {width: 840px; margin:auto;} 

Das funktioniert bei den meisten neueren Browsern, für den IE im Quirks-Modus sollte ein

body {text-align: center;}  

eingefügt werden. Dieses Template ist getestet mit Firefox 3 und dem IE 8. Alle templatebezogenen Grafiken und Bilder sind selbst erstellt und bearbeitet. Das Template ist etwas älter, demzufolge müsst ihr die Installationsprozedur (index.php) anpassen.

28 kB

Kategorien
Joomla Templates Webentwicklung

Joomla Template Reihe K11

Joomla Logo flat

Zusammenfassung

Dieses Joomla Template wurde für Joomla 1.5 erstellt.

Das Template ist etwas älter, demzufolge müsst ihr die Installationsprozedur (index.php) anpassen.

Dieses Template besteht aus zwei Containern die mittels float positioniert werden.

Die CSS Deklarationen sehen wie folgt aus:

#gesamt {
width:950px;
margin:10px auto;
text-align:left;
}
#content {
float:right;
clear:right;
border:1px solid #CCCCCC;
border-right:1px solid #757575;
border-bottom:1px solid #757575;
width: 700px;
padding:0;
margin:0;
background-color: #A0C0E0;
color:#444444;
text-align:left;
}
#menu {
float:left;
clear:left;
border:1px solid #CCCCCC;
border-right:1px solid #999999;
border-bottom:1px solid #999999;
width:200px;
padding:0;
margin:0;
margin-right:5px;
margin-top:65px;
padding-top:250px;
background:#E08080 url(../images/header.jpg) no-repeat 0 0;
text-align:left;
}
#footer {
height:50px;
padding:0;
margin:0;
text-align:left;
background-color:#E08080;
font-size:11px;
color:#757575;
width:100%;
border-top:1px solid #F0F0F0;
}

Warnhinweis – Diese Seiten benutzen bestimmte CSS-Definitionen, die von älteren Browsern nicht dargestellt werden können.

Getestet habe dieses Template mit Firefox 3 und dem IE8. Anpassungen für andere Browser sind nicht explizit enthalten und auch nicht geplant.

103 kB

Kategorien
Joomla Templates

Joomla Template K27 – Static Green

Dieses Joomla Template baut auf DIV-Container auf, besitzt eine feste Breite von 840px.Als primaeren Font verwende ich Tahoma. Das Zentrieren des Layouts erfolgt mittels automatischer Ränder:

#container {width: 840px; margin:auto;}

Das funktioniert bei den meisten neueren Browsern, für den IE im Quirks-Modus sollte ein body {text-align: center;} eingefügt werden.Dieses Template ist getestet mit Firefox, IE und Chrome. Das Template ist etwas älter, demzufolge müsst ihr die Installationsprozedur (index.php) anpassen.

30 kB

Kategorien
Joomla Templates Stylesheets Webentwicklung

Joomla Template Reihe K08

Joomla Logo flat

Dieses Joomla Template besteht aus vier Containern die absolut positioniert werden. Die Breite ist in Prozentwerten angegeben. Dadurch passt sich das Layout an eine veränderte Breite automatisch an. Es ist nur darauf zu achten das Bilder unter Umständen bei geringen Breiten aus den Boxen herauslaufen können. Das Logo und das Topmenue werden ebenfalls absolute über den Containern positioniert.

Kategorien
Wordpress

Plugins – Power Up your WordPress

Wordpress Logo Schwarz/Weiss

Ausgangslage

Alle bisherigen Onlinepräsenzen liefen bei mir über das CMS Joomla mit diversen Plugins, dieses hatte ich seit der Abspaltung von Mambo im Einsatz.
Der Vorteil war ganz klar, das System bringt eine Menge an Funktionen mit. Hier zum Beispiel das managen von Beiträgen (aktivieren, deaktivieren). Auch das Kopieren von Beiträgen fand ich immer sehr praktisch.
Weiterhin gab es eine riesige Menge an Komponenten und Modulen sowie Plugins.

Mit diesem Hintergrund habe ich mich erstmal umgeschaut in WordPress, wo sind denn die ganzen Funktionen?

WordPress

WordPress geht hier ganz klar den Weg:

  • übersichtliches Basissystem,
  • zusätzlich Plugins bei Bedarf.

Nach ein paar Wochen Einarbeitung in WordPress gefällt mir dieser Ansatz sehr gut.

Auch sind die gemessenen Ladezeiten, Datenbankgrößen und der Speicherplatz um einiges geringer. Und das obwohl ich alle Daten aus den alten CMS Instanzen übernommen habe. Hier schlägt wohl die Komprimierung der Medien zu denke ich.

Benutzte Plugins

AntiSpam Bee – Antispam-Plugin mit einem hochentwickelten Tool-Set für effektive tägliche Kommentar- und Trackback-Spam-Bekämpfung. Entwickelt mit Blick auf Datenschutz und Privatsphäre.

WP Last Modified Info – Last Modified Plugin für WordPress mit Gutenberg-Block-Integration. Es ist möglich, Shortcodes zu verwenden, um die zuletzt geänderten Informationen überall auf einer WordPress-Site mit 4.7 und höher anzuzeigen.

WP-Optimize – Clean, Compress, Cache – WP-Optimize macht Ihre Website schnell und effizient. Es bereinigt die Datenbank, komprimiert Bilder und macht Seiten-Caching. Schnelle Websiten ziehen mehr Verkehr und Nutzer an.

UpdraftPlus – Backup/Restore – Sichern und Wiederherstellen: Machen Sie lokale Sicherungen oder speichern Sie bei Amazon S3, Dropbox, Google Drive, Rackspace oder via (S)FTP, WebDAV und E-Mail; und das über automatische Zeitpläne. Habe ich bereits benutzt, auch ein Restore war bisher problemlos.

Simple Lightbox – Die anpassbare Lightbox für WordPress. Kleine Ergänzung, für mich sehr sinnvoll.

Quick Download Button – Hinzufügen eines Download Links in einem Beitrag/Seite. Ein wenig stört mich die Integration, aber das Teil funktioniert gut.

Otter – Page Builder Blocks & Extensions for Gutenberg – das versteht sich von selbst.

Complianz | GDPR/CCPA Cookie Consent – Complianz Privacy Suite für GDPR, CaCPA, DSGVO, AVG mit bedingter Cookie-Warnung und benutzerdefinierten Cookie-Richtlinien.

Da ich als Template aktuell “Twenty Twenty” benutze, habe ich auch “Twentig” installiert.

Fazit

Weniger ist mehr!

Ludwig Mies van der Rohe
Kategorien
Joomla Templates Stylesheets Webentwicklung

Joomla Template Reihe K10

Joomla Logo flat

Joomla Templates sind Vorlagen, die das Erscheinungsbild und Layout einer Joomla-Website bestimmen. Sie bestehen aus einer Sammlung von Dateien. Damit wird das Design, die Struktur und das Verhalten einer Joomla-Website beeinflusst.

Im Grunde genommen sind Joomla Templates wie eine Schablone oder ein Rahmen. Dieser Rahmen legt fest, wie eine Joomla-Website aussehen und funktionieren soll. Sie enthalten das Design, die Farben, das Layout, die Schriftarten und Bilder, die auf der Website angezeigt werden sollen.

Es gibt Tausende von kostenlosen und kostenpflichtigen Joomla Templates. Viele verschiedene Designer und Entwickler haben an der Erstellung mitgewirkt. Die meisten Templates sind anpassbar und können von Benutzern bearbeitet werden. Damit kann das Aussehen und die Funktionalität ihrer Website geändert werden.

Im Allgemeinen sollten Joomla Templates so gestaltet sein, dass sie das Erscheinungsbild der Website verbessern und eine bessere Benutzererfahrung bieten. Sie sollten auch mit den neuesten Webstandards und Technologien kompatibel sein, um sicherzustellen, dass die Website auf verschiedenen Geräten und Browsern gut funktioniert.

Das hier vorliegende Template besteht aus zwei Containern die mittels float positioniert werden. Das funktioniert gut, evtl. ist noch Anpassungsbedarf nötig, der ist aber von Fall zu Fall verschieden.

Die Erstellung eines Joomla-Templates erfordert ein gewisses Verständnis von HTML, CSS und PHP, sowie Kenntnisse der Joomla-Architektur und der Funktionsweise von Templates.

Es gibt viele weitere Details und Feinheiten, die berücksichtigt werden müssen, um ein qualitativ hochwertiges Template zu erstellen. Es ist ratsam, sich mit der Joomla-Dokumentation und den Entwickler-Communities zu befassen, um weitere Informationen und Unterstützung zu erhalten.

https://www.w3.org/Style/CSS/Overview.de.htm

Zusammenfassung

Das Template ist etwas älter, demzufolge müsst ihr die Installationsprozedur (index.php) anpassen. Dieses Template baut auf DIV-Container auf, besitzt eine feste Breite von 980px. Der primäre Font ist Tahoma. Das Zentrieren des Layouts erfolgt mittels automatischer Ränder:

#container{width: 980px; margin:auto;} 

Dieses Template ist getestet mit Firefox 4 und dem IE 8/9. Das Topmenue liegt auf “user4”, der banner auf “banner”, der newsflash auf “top”, latestnews auf “user1” und mostread auf “user2” Die CSS Datei ist beim W3C nach CSS Standard 2.1 validiert. Alle templatebezogenen Grafiken und Bilder sind selbst erstellt und bearbeitet.

146 kB

Kategorien
Wordpress

Expires Header in .htaccess auf Apache

Wordpress Logo Schwarz/Weiss

Wie man Ablaufzeit-Header (Expires Header) mit .htaccess auf einem Apache-Webserver hinzufügt erfahrt ihr hier! Wenn dein Webhosting-Anbieter den Apache-Webserver verwendet, könnet ihr den Ablaufzeit-Header mithilfe der .htaccess-Datei hinzufügen. Die befindet sich im Stammverzeichnis deines Servers. Das heißt in dem selben Verzeichnis, in dem sich die Datei wp-config.php befindet).

Hier ist, was ihr tun müsst:

  1. Stellt eine Verbindung zu eurem Server über FTP in Ihrem bevorzugten FTP-Client her. Bei ALL-INKL.COM reicht der WEB FTP völlig aus.
  2. Sucht die .htaccess-Datei im Stammverzeichnis.
  3. Ladet eine Sicherungskopie der .htaccess-Datei auf den lokalen Computer herunter. Auf diese Weise könnt ihr im Falle von Problemen Ihre Sicherungskopie wieder hochladen, um mögliche Probleme zu beheben.
  4. Fügt den untenstehenden Code-Schnipsel in der Nähe des oberen Teils der Datei hinzu.
## EXPIRES HEADER CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType image/svg "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>
## EXPIRES HEADER CACHING ##

Wie man es auf einem Nginx-Webserver einrichtet

Wenn dein Hosting-Provider den Nginx-Webserver verwendet, kannst du die Ablaufzeit-Header bearbeiten, indem du die Konfigurationsdatei deines Servers anpasst. Wie du diese Datei bearbeitest, hängt von deinem Hosting-Provider ab. Du kannst dich an den Support deines Hosting-Providers wenden, wenn du Hilfe benötigst.

Kinsta verwendet den Nginx-Webserver – beachte jedoch, dass wir bereits alles für dich konfigurieren, sodass du keinen Code selbst hinzufügen musst.

Hier ist der Code, den du verwenden musst:

location ~*  \.(jpg|jpeg|gif|png|svg)$ {
		expires 365d;
	}

	location ~*  \.(pdf|css|html|js|swf)$ {
		expires 2d;
	}

Die Ablaufzeiten kannst du natürlich individuell anpüassen.
Viel Erfolg!

Kategorien
Scripte

AD Import einfach gemacht mit LDIF

CSS Programming Image

AD Import: LDIF steht für LDAP Data Interchange Format und ist das Format der Wahl wenn ihr in einer Active Directory Struktur Massenänderungen durchführen wollt.

Ein LDAP-Objekt wird durch mehrere LDIF-Zeilen beschrieben. Am Anfang steht immer der distinguished name dn, der die absolute Position im LDAP-Baum angibt. Es folgen Objektklassen, die definieren, welche Attribute zulässig oder vorgeschrieben sind. 

Beispiel einer Definition für einen AD Import:

dn: dc=struktur, dc=de
objectclass: organization
objectclass: top
o: struktur

Es existieren zwei grundlegende LDIF Formate die für den AD Import genutzt werden können, LDIF Change und LDIF Change. Letzterer enthält die Änderungen an einem Objekt.

Ziel:

Das Script wandelt eine Excel Tabelle in das LDIF Format um, zum weiteren Import in eine Active Directory Struktur.

Private Sub Excel2LDIF_Click()

'LDIF Ausgabe aus Excelliste
Dim oAs, oUser As Object
Dim xlApp As Object
Dim zaehler
Dim ADSI As Object
Dim OUTeil(256) As String

'On Error Resume Next

Set xlApp = CreateObject(pfad_tabelle.Caption)
xlApp.Application.Visible = False
xlApp.Windows(1).Visible = False

On Error Resume Next

With CommonDialog1
  .CancelError = True
  .Flags = cdlOFNOverwritePrompt
  .Filter = "Textdateien (*.LDIF)|*.LDIF"
  .ShowSave
  If .FileName <> "" Then
    F = FreeFile
    Open .FileName For Output As #F
  End If
End With

' Ermittlung der Anzahl Datensaetze und Prüfung
Fehleranzahl = 0 ' Fehleranzahl

Kontrollfeld.Text = Kontrollfeld.Text & "Prüfung !!!" & vbCrLf
AnzahlDatensaetze = 2
While (xlApp.Worksheets(1).Range("A" & AnzahlDatensaetze).Value) <> ""
  If Trim(xlApp.Worksheets(1).Range("C" & AnzahlDatensaetze).Value) = "" Then
    Fehleranzahl = Fehleranzahl + 1
  End If
  If Trim(xlApp.Worksheets(1).Range("D" & AnzahlDatensaetze).Value) = "" Then
    Fehleranzahl = Fehleranzahl + 1
  End If
  If Trim(xlApp.Worksheets(1).Range("E" & AnzahlDatensaetze).Value) = "" Then
    Fehleranzahl = Fehleranzahl + 1
  End If
  If Trim(xlApp.Worksheets(1).Range("G" & AnzahlDatensaetze).Value) = "" Then
    Fehleranzahl = Fehleranzahl + 1
  End If
  AnzahlDatensaetze = AnzahlDatensaetze + 1
Wend

If Fehleranzahl > 0 Then
  Antwort = MsgBox("Anzahl fehlerhafter Datensätze: " & Fehleranzahl, vbYesNo + vbExclamation, "Wollen Sie eine LDIF - Ausgabe erstellen?")
  If Antwort = vbOK Then
  Else
    Print #F, Kontrollfeld.Text
    Close #F
    Unload Form1
    Exit Sub
    xlApp.Application.Quit
  End If
End If

Jetzt zur Bearbeitung

' Start Bearbeitung
zaehler = 2
While (xlApp.Worksheets(1).Range("A" & zaehler).Value) <> ""

'Refresh der Anzeige
Form1.Refresh
Kontrollfeld.Refresh
'Schreibe LDIF

'Variablen belegen
'---------------------------------------------------------------------------
    'Variable Werte aus Tabelle --------------------------------------------

    Datum = Format$(Now, "yy.mm.dd")
    Tag = Right(Datum, 2)
    Monat = Mid(Datum, 4, 2)
    Jahr = Left(Datum, 2)
    Zeit = Format$(Now, "hh:nn:ss")
    Min = Mid(Zeit, 4, 2)
    St = Left(Zeit, 2)

    If zaehler > 9 Then
      employeeNumber = "E" & Jahr & Monat & Tag & St & zaehler & "1"
    Else
      employeeNumber = "E" & Jahr & Monat & Tag & St & Min & zaehler
    End If

    sn = Trim(xlApp.Worksheets(1).Range("C" & zaehler).Value) 'Nachname
    givenName = Trim(xlApp.Worksheets(1).Range("D" & zaehler).Value) 'Vorname

    ' - berechneter Wert aus Tabelle ---------------------------------------
    Print #F, "dn: cn=" & sn & " " & givenName & " " & employeeNumber & "," & "cn=Users,cn=XXXXXX"
    Print #F, "cn: " & sn & " " & givenName & " " & employeeNumber 
    Print #F, "employeeNumber: " & employeeNumber
    Print #F, "sn: " & Trim(xlApp.Worksheets(1).Range("C" & zaehler).Value) 
    Print #F, "givenName: " & Trim(xlApp.Worksheets(1).Range("D" & zaehler).Value)

    ' Prüfung auf Firma vorhanden wenn ja dann Excelliste wenn nein ="extern"

    If UCase(Trim(xlApp.Worksheets(1).Range("H" & zaehler).Value)) = "" Then
      Print #F, "Company: EXTERN 'Firma =xxx"
    Else
      Print #F, "Company: " & UCase(Trim(xlApp.Worksheets(1).Range("H" & zaehler).Value)) 
    End If
    Print #F, "Salutation: " & Trim(xlApp.Worksheets(1).Range("B" & zaehler).Value)

    OU = UCase(Trim(xlApp.Worksheets(1).Range("E" & zaehler).Value))
    K = 1
    OUTeil(K) = UCase(Trim(xlApp.Worksheets(1).Range("E" & zaehler).Value)) '(1)
    K = K + 1
    While (InStrRev(OU, "-")) <> 0
      Position = (InStrRev(OU, "-"))
      OUTeil(K) = Left(OU, Position - 1)
      OU = Left(OU, Position - 1)
      K = K + 1
    Wend
    OU = "OU: ou="
    For J = 1 To K - 1
    If J = K - 1 Then
      OU = OU & OUTeil(J)
    Else
      OU = OU & OUTeil(J) & ",ou="
    End If
    Next J
    OU = OU & ",o=xxx,cn=xxx"
    Print #F, OU

 

Und noch die Kostenstelle verarbeiten

 'Kostenstelle
    Print #F, "Kostenstelle: " & UCase(Trim(xlApp.Worksheets(1).Range("G" & zaehler).Value)) 'Kostenstelle

    ' ADS User Typ auswerten -> Base OU bestimmen START
    ADOU = UCase(Trim(xlApp.Worksheets(1).Range("K" & zaehler).Value)) 
    Select Case ADOU
    Case "1"
      ADOU = "OU=Users,"
    Case "2"
      ADOU = "OU=Users,"
    Case "3"
      ADOU = "OU=Users,"
    Case Else
      ADOU = "OU=Users,"
    End Select
    Print #F, "ADOU: " & ADOU

    Print #F, "AD: " & Trim(xlApp.Worksheets(1).Range("I" & zaehler).Value) 'AD Status

    Print #F, vbCrLf

  zaehler = zaehler + 1
Wend
Close #F
xlApp.Application.Quit
End Sub

Diesen Code verwendet ihr auf eigene Gefahr. Voraussetzung sind entsprechende Berechtigungen auf die AD Struktur. Ich übernehme keine Gewährleistung.

Michael Leidig