PmWikiDe

Group Customizations

PmWikiDe.GroupCustomizations History

Hide minor edits - Show changes to output

March 24, 2017, at 05:53 PM by buy_cialis - erwyiwtw
Changed lines 1-95 from:
(:title Individuelle Einstellungen pro Gruppe:)
(:Summary: Pro Gruppe können individuelle Einstellungen vorgenommen werden.:)
(:Original_Page: PmWiki.{$Name}:)
(:Translation_Date: 2011-04-30:)
(:Translation_Status: %green%fertig%%:)
(:Audience: Administratoren (FTP):)

Einer der Zwecke von [[Wiki Group|+]] ist, einem [[Wiki Administrator|+]] die Möglichkeit zu geben, die Besonderheiten von PmWiki auf einer per-Gruppen-Basis anzupassen. So kommt die Anpassung pro Gruppe ins Spiel:

* Das ''local/''-Unterverzeichnis (typischerweise in $FarmD) wird benutzt, um lokale Konfigurationen zu speichern.
* Das ''pub/css/''-Unterverzeichnis (typischerweise in $FarmD) wird benutzt, um lokale CSS-Dateien zu speichern.

Um eine [[PmWikiDe/LocalCustomizations|lokale Anpassung]] für eine bestimmte Gruppe durchzuführen, 
* Fügen Sie eine Anpassungsdatei namens "<gruppenname>.php" in das ''local/''-Unterverzeichnis ein, wobei <gruppenname> durch den wirklichen Namen der Gruppe von Seiten zu ersetzten ist.
* Fügen Sie die CSS-Anpassung als Datei namens "<gruppenname>.css" in das ''pub/css/''-Unterverzeichnis ein, wobei <gruppenname> durch den wirklichen Namen der Gruppe von Seiten zu ersetzten ist.
Diese Dateien werden automatisch bearbeitet, nachdem die lokalen Anpassungen in ''config.php'' und ''local.css'' bearbeitet wurden.

Um beispielsweise das Bild zu ersetzen, das in der oberen, linken Ecke der "GruppenName"-Seiten erscheint, kann man eine ''local/GruppenName.php''-Datei erzeugen mit folgendem Inhalt:
-> [@
<?php
  $PageLogoUrl = "/meinebilder/schach.gif";
@]
Das Beispiel hat den Effekt, dass alle Seite in der GruppenName-[[WikiGroup|Wikigruppe]] das Bild "/meinebilder/schach.gif" als Logo anstelle des Standardlogos einsetzen.

Für das Hinzufügen von Auszeichnungen oberhalb oder unterhalb des Textes siehe [[Group headers|+]].


[[#PerPage]]
!!! Individuelle Anpassungen pro Seite

PmWiki erlaubt auch die Anpassungen für einzelne Seiten. Benutzen Sie einfach den kompletten Seitennamen der anzupassenden Seite anstelle des Gruppennamen. Beispielsweise kann man eine Datei ''local/Schach.`HomePage.php'' nutzen, um lokale Anpassungen für die Seite Schach.`HomePage zu machen.
 
Nahezu jede Anpassung, die man in die ''config.php'' setzen würde, kann man auch für gruppen- oder seitenweise Anpassungen nutzen.

Eine wichtige Ausnahme dazu ist, '''gruppen- oder seitenweise Anpassungen für Rezept-Skripten zu setzen''', die in der config.php eingefügt wurden. Die meisten Rezepte müssen ihre Anpassungs-Variablen gesetzt bekommen, bevor das Skript eingefügt wird. Statt eine gruppen- oder seitenweise Anpassungs-PHP-Datei zu benutzen, setzt man eine bedingte Anweisung in die config.php, bevor man das Rezeptskript einfügt. Beispiel:

>>frame<<
->[@$page = PageVar($pagename, '$FullName');
$group = PageVar($pagename, '$Group');
//per-group customizations:
if($group=='GroupName') {
  $RecipeVariable = 'valueA';
  etc. ...
}
//per-page customizations:
if($page=='GroupName.PageName) {
  $RecipeVariable = 'valueB';
  etc. ...
}
//include recipe after variables are set:
include_once('cookbook/recipescript.php');@]
>><<

[[#reihenfolge]]     
!!! Bearbeitungsreihenfolge
Für alle Anpassungen bearbeitet PmWiki zuerst die ''local/config.php''. Dann sieht es im ''local/''-Unterverzeichnis nach, ob es eine Datei für seitenweise Anpassungen gibt und lädt sie ggf., danach für gruppenweise Anpassungen. Wenn es keine der beiden Dateien gibt, lädt PmWiki ''local/default.php''. Wenn es für eine seitenweise Anpassung nötig ist, dass die gruppenweise Anpassung zuerst geladen wird, kann sie das selbst bewirken, indem sie PHPs @@include_once()@@-Funktion benutzt. Für weitere Informationen siehe  [[(PmWiki:)wiki cascades]]. 

!!! Individuelle CCS-Anpassungen für Gruppen oder Seiten
Um CSS-Stile auf Seiten einer bestimmten Gruppe namens `GruppenName anzuwenden, erzeugt man eine Datei namens ''GruppenName.css'' im ''pub/css/''-Verzeichnis und füllt diese Datei mit den zusätzlichen Stilregeln. Um Stile auf eine bestimmte Seite anzuwenden, erzeugt man eine Datei in diesem Verzeichnis namens ''GruppenName.SeitenName.css'' mit den gewünschten CSS-Stilen. Alle CSS-Regeln, die auf alle Wikiseiten angewendet werden sollen, fügt man in die Datei ''pub/css/local.css'' ein. 

->[@/pub/css/GroupName.css:

  body { background: #F4C4B4; }
@]

!!! Verhindern von Konfigurationen auf Gruppenebene

Jede Anpassungsdatei kann $EnablePGCust=0; setzen, um später die automatische Ausführung einer Seiten-/Gruppen-/Standard-Anpassung zu verhindern. Wenn es für eine seitenweise Anpassung nötig ist, dass die gruppenweise Anpassung zuerst geladen wird, kann sie das selbst bewirken, indem sie PHPs @@include_once()@@-Funktion benutzt. Für weitere Informationen siehe  [[(PmWiki:)wiki cascades]]. 

!!! Authentifikation
Alle Passwörter für eine Gruppe sollten in den [[Group Attributes| Gruppenattributen]] der Gruppeseite gesetzt werden (siehe [[Passwords Admin|Passwortadministration]]), nicht in einer Gruppen-Anpassungsdatei.

!!!Wikifarmen berücksichtigen

[[Wiki Group|Wikigruppen]] sind ein leichter Weg, mehrere Sites in einer einzigen Wikiinstallation zu beherbergen, indem man jeder Site eine eigenen Gruppe gibt. Ein anderer Weg ist, [[Wiki Farms|Wikifarmen]] zu nutzen. Das erlaubt jeder Site, einen eigenen Satz von [[Wiki Group|Wikigruppen]] und lokalen Anpassungsdateien zu haben. Mehr dazu in [[PmWiki/WikiFarms|Wikifarmen]] &rarr;[-{PmWiki/WikiFarms$:Summary}-]

Wenn sie nach verschachtelten Gruppenebenen suchen, sollten Sie dies bedenken: [[PmWiki:HierarchicalGroups|Pm's design considerations on hierarchical groups]].

>>faq<<
Q:Wie kann ich CSS-Stile auf bestimmte Gruppen oder Seiten anwenden?
A:Erzeugen Sie einfach eine ''pub/css/Group.css''- oder ''pub/css/Group.Page.css''-Datei, die die angepassten Stildefinitionen für diese Gruppe oder Seite enthält.
Q:Warum sollten Passwörter nicht in Gruppen- oder Seitenanpassungsdateien gesetzt werden?
A:Der Grund für diesen Ratschlag ist, dass Gruppenanpassungsdateien nur für die angezeigte Seite geladen wird. Wenn also @@[=$DefaultPasswords['read']=]@@ in ''local/GruppeA.php'' gesetzt wird, kann jemand eine andere Seite benutzen, um den Inhalt von Seiten der GruppeA einzusehen. Zum Beispiel könnte er in 'Main.WikiSandbox'

:: : [@(:include GruppeA.EineSeite:)@]

einfügen. Weil nun die ''GruppeA.php''-Datei nicht geladen wird (er hat ja die Seite Main.WikiSandbox &rarr; ''local/Main.php'' aufgerufen), wird kein Lesepasswort gesetzt.

Das gleiche gilt natürlich entsprechend für Seitenapassungsdateien.

Q:Ist die Abarbeitungsreihenfolge nicht befremdlich. Warum wird die Seitenkonfiguration nicht am Schluss geladen (also nach der globalen und der Gruppenkonfiguration)?
A:Was wir oft wollen, ist einer Gruppe von Seiten bestimmte Fähigkeiten zu geben, aber diese Fähigkeiten für eine bestimmte Seite zu unterbinden, als seien die nie eingerichtet worden. Wenn die Gruppenkonfigurationsdatei zuerst bearbeitet wird, wird es sehr mühsam/weitschweifig für die Seitenkonfigurationsdatei, die Effekte der vorigen Datei ungeschehen zu machen. Deshalb laden wir die Seiten- vor der Gruppendatei.

Wenn eine Seitenkonfiguration darauf angewiesen ist, dass die Gruppenkonfiguration zuerst geladen wird, kann sie dem Rezept [[#reihenfolge|oben]] folgen (indem sie PHPs @@include_once()@@-Funktion benutzt) oder @@[=$EnablePGCust = 0=]@@ setzen.
>><<
to:
http://v1buyonline.com/ ,  is a medication used for treating erectile dysfunction in men.