Die Problematik
Erstellt man einen Ordner mit Ressourcen darin, so wird beim erstellen einer neuen Ressource automatisch das Template des Elternelements, also des Ordners verwendet. Dieses Problem sollte bekannt sein.
Elternelement benötigt Kindelement für Kindelemente: Die Lösung hierfür könnte lauten, man weist dem Elternelement das Template Übersichtsseite zu und erstellt hier noch ein Kindelement „Ordner” welchem man das Template der Kinderelemente zuweist. So wird beim Klick „Neue Ressource hier erstellen” das richtige Template ausgewählt.

Das wäre der für den Kunden praktischste Weg, leider ergibt sich hier folgendes Problem. Der Ordner, welcher die eigentlichen Kindelemente hält, erscheint nun auch in allen URL's. Nicht sehr schön und auch bei Brotkrümelnavigationen ein No-go! Eigene Inhalte hält dieser Ordner ja nicht.
Lösungsansatz
Auf den Lösungsansatz bin ich mit Marc gekommen: Eine personalisierte Startseite. Das ist vielleicht nicht die allumfassende Lösung, aber für ein paar Standard Aufgaben wird es wohl reichen.
Schaut man sich die URL beim erstellen einer neuen Ressource mal etwas genauer an, wird man feststellen, dass hier schon fast alles festgelegt ist aber eben nicht das zu verwendende Template.
http://meineSeite.de/manager/index.php? id=51 ...
Nach ein wenig hin und her probieren kamen wir auf die Lösung: Gibt man dem Link nach der id ein template mit auf den Weg, so wird nicht nur im entsprechenden Bereich eine Ressource erstellt, sondern gleichzeitig das entsprechende Template ausgewählt.
http://meineSeite.de/manager/index.php? id=51 &template=ID ...
Nun stellt sich nur noch die Frage wie wir das ganze einbinden. Marc schreibt solche Aktionen einfach ins Manager Template, über die ganzen Grundinformationen der Willkommensseite. Ich schmeisse selbige einfach raus und platziere ähnlich wie bei anderen Content Managern Buttons zum erstellen von neuen Ressourcen.
Dupliziert hierfür einfach das Manager Template „default” und fügt eure Änderungen in HTML in die Datei ../manager/templates/default-kopie/welcome.tpl ein. Die CSS Anweisungen packt Ihr nach ../manager/templates/default-kopie/css/modx-min.css. Jetzt könnt Ihr MODx ein wenig komfortabler für euren Kunden oder euch selbst gestalten. Anschließend nicht vergessen in den Systemeinstellungen das neue Manager Template auszuwählen.
Kostenlose Vorlage

Damit das ganze auch noch einigermaßen nach was aussieht habe ich euch meine .psd Datei zum Download hinterlegt.
welcome.tpl
<div id="customWelcome"> <h2>Schnelle Operationen</h2> <p>Hier können Sie der Seite Dokumente und Dateien hinzufügen. Zum editieren von vorhandenen Ressourcen nutzen Sie den Seitenbaum.</p> <ul> <li class="article"> <a href="http://meineSeite.de/manager/index.php?id=51&template=5&a=47&class_key=modDocument&parent=51&context_key=web" title="Neuen Newsartikel anlegen"> Neuen Newsartikel anlegen <span>Erstellen Sie einen neuen Artikel im Bereich Aktuelles</span> </a> </li> <li class="article"> <a href="http://meineSeite.de/manager/index.php?id=37&template=7&a=47&class_key=modDocument&parent=37&context_key=web" title="Neues Angebot hinterlegen"> Neues Arrangement hinterlegen <span>Neues Arrangement im Bereich Angebote erstellen</span> </a> </li> <li class="image"> <a href="http://meineSeite.de/manager/index.php?id=75&template=13&a=47&class_key=modDocument&parent=75&context_key=web" title="Neue Bildergalerie anlegen"> Neue Bildergalerie anlegen <span>Neue Galerie zum Bereich Impressionen hinzufügen</span> </a> </li> <li class="event"> <a href="http://meineSeite.de/manager/index.php?id=78&template=21&a=47&class_key=modDocument&parent=78&context_key=web" title="Neues Event anlegen"> Neues Event hinterlegen <span>Neues Event im Bereich Events & Feste anlegen</span> </a> </li> </ul> </div>
Style Anweisungen
//Quick n Dirty
#customWelcome {
float: left;
width: 100%;
border-top: 1px solid #B0B0B0;
border-left: 1px solid #B0B0B0;
border-bottom: 1px solid #B0B0B0;
background: #fdfdfd;
}
#customWelcome h2 {
display: block;
padding: 0 0 0 20px;
margin: 24px 0 0 0;
font-family: arial;
font-size: 15px;
color: #779937;
text-shadow: 1px 1px 0 #fff;
line-height: 24px;
}
#customWelcome p {
display: block;
padding: 0 0 0 20px;
color: #afafaf;
text-shadow: 1px 1px 0 #fff;
line-height: 24px;
max-width: 500px;
}
#customWelcome ul {
display: block;
padding: 0 0 20px 20px;
max-width: 500px;
margin: 24px 0 24px 0;
}
#customWelcome li {
display: block;
width: 478px;
height: 50px;
background-repeat: no-repeat;
background-position: -50px 10px;
line-height: 24px;
padding: 10px 0;
border: 1px solid #fdfdfd;
}
#customWelcome li:hover {
background-position: 10px -50px;
width: 478px;
height: 50px;
padding: 10px 0;
border: 1px solid #e2e2e2;
}
#customWelcome .article {
background-image: url(../images/article.gif);
}
#customWelcome .image {
background-image: url(../images/image.gif);
}
#customWelcome .event {
background-image: url(../images/date.gif);
}
#customWelcome li a {
float: left;
padding-left: 70px;
text-decoration: none;
font-weight: bold;
color: #779937;
font-size: 13px;
text-shadow: 1px 1px 0 #fff;
line-height: 24px;
}
#customWelcome li a span {
display: block;
font-weight: normal;
color: #afafaf;
text-shadow: 1px 1px 0 #fff;
line-height: 24px;
}
Benjamin Weigl ist seit 2005 als selbstständiger Webentwickler und Designer für Unternehmen aus ganz Europa tätig.