Verschiedene Seiten Kategorisieren und anschließend mit variablen ansprechen?
am 18.09.2010 - 17:01 Uhr in
Hallo alle miteinander,
ich wollte mal Fragen, ob so etwas, wie ich mir das vorstelle generell möglich ist. Und zwar habe ich vor, da die Website generell 2 "Grunddesigns" hat mit einigen parallelen zueinander und innerhalb dieser 2 Grunddesigns nochmals verschiedene Seitedesigns existieren.
Meine Idee war nun, die einzelnen Seiten zu "Kategorisieren" o.ä. und dann anschließend die Kategorien irgendwie im template mit den entsprechenden variablen anzusprechen und dafür eben Schalter einzubauen.
Folglich ist der Plan, alles in ein Template zu klatschen und dann je nachdem auf welcher Ebene man sich befinden und teilweise auf welcher Einzelseite, dann eben unterschiedlicher HTML/PHP code geladen wird.
Geht sowas?
Vielen Dank im vorraus.
Grüße, Majestic
- Anmelden oder Registrieren um Kommentare zu schreiben

Eine einfache Lösung wäre das
am 18.09.2010 - 17:10 Uhr
Eine einfache Lösung wäre das Modul Themekey.
Zu Fuß: Mittels preprocess_page in der Datei template.php (mal im Zen-Theme nachsehen, da ist das gut kommentiert) eine Variable setzen und dann in der page.tpl.php-Datei über ein Switch-Statement verzweigen.
Beste Grüße
Werner
Super, das sieht doch gut
am 18.09.2010 - 18:21 Uhr
Super, das sieht doch gut aus! So was in der Art hab ich gesucht.
Vielen Dank für die schnelle Antwort ... werds mir gleich mal anschauen.
So, habe mir das Ganze nun
am 19.09.2010 - 05:20 Uhr
So, habe mir das Ganze nun mal etwas angeschaut und bin zum Ergebnis gekommen es "zu Fuß" zu machen, sprich mit einer Methode in der template.php.
Bisher hab ich mal alles vorbereitet mit den verschiedenen switches in den einzelnen template Dateien.
Das Problem bei dem Ganzen wird nur sein, dass die Anzahl der Seiten der Website ins unzählbare steigen wird und diese jeweils - abhängig von der "übergeordneten Seite" in der Hierarchie (wobei es ja sowas eigentlich garnicht gibt in Drupal, oder? - teilweise im Design abweichen, sprich andere Verzweigungen im Templatemechanismus gehen müssen.
Folglich wird es keine Lösung sein, irgend ein Array zu bauen oder eine Tabelle in der Datenbank anzulegen mit den entsprechenden Werten für den Aufbau der jeweiligen Seiten. Sondern ich brauch irgendwie ne elegantere Lösung an der Stelle.
Gibts da irgendwas passendes?
Sprich, ich müsste einerseits wissen, wie ich den Knotentitel herausbekomme und andererseits noch irgendwie den "übergeordneten Knoten". Oder eben was vergleichbares oder sogar einen ganz anderen Lösungsansatz? Konnte leider noch nichts gutes finden und so langsam verlässt mich die Zuversicht :-P.
Grüße, Majestic
Kannst du das nicht über die
am 19.09.2010 - 08:48 Uhr
Kannst du das nicht über die URL machen ?
Irgendwie mußt du ja deine Seiten kategorisieren. Wie machst du das ? Wie hast du deine Hierarchie aufgebaut ? Taxonomie ?
Edit:
Ich habe für jeden Abschnitt einen eigenen Inhaltstyp mit default Taxonomy
Hi, bin nun folgendermaßen
am 23.09.2010 - 21:17 Uhr
Hi,
bin nun folgendermaßen vorgegangen:
Habe die Kategorisierung der verschiedenen Seitenlayouts nun mittels Taxonomy untergliedert und bin nun dabei das Ganze in der page.tpl.php und weiteren tpl.php Dateien einzubauen.
Mein Problem ist momentan aber folgendes (bin noch nicht so bewandert mit den Ganzen Drupal variablen, weshalb ich mir nun auch mal die letzten Tage Eclipse mit xdebug aufgesetzt habe, super endlich debuggen zu können ;-)):
in der Node.tpl.php gibts ja das Objekt $node , von welchem man schlussendlich auf den/die Taxonomietitel kommt ($node->taxonomy.... ->name..).
Mein code sieht momentan wie folgt aus:
node.tpl.php:
<?php$tax_terms = WTM_separate_terms($node->taxonomy);
?>
template.php:
<?php
function WTM_separate_terms($node_taxonomy) {
if ($node_taxonomy) {
foreach ($node_taxonomy AS $term) {
$links[$term->vid]['taxonomy_term_'. $term->tid] = array(
'title' => $term->name,
'href' => taxonomy_term_path($term),
'attributes' => array(
'rel' => 'tag',
'title' => strip_tags($term->description)
),
);
}
foreach ($links AS $key => $vid) {
$terms[$key] = theme_links($vid);
}
}
return $terms;
}
?>
So. Damit hätte ich ja schonmal alle Informationen die ich so benötige in der $tax_terms variable. Mein Problem ist nur, dass ich diese variable nicht in der node.tpl.php brauche sondern in der page.tpl.php und noch ein paar anderen Dateien.
Nun also meine Frage: wie bekomme ich die variablen in die anderen Dateien? Vielleicht seh ich auch den Wald vor lauter Bäumen nicht, aber irgendwie komm ich da nicht weiter.
Zweite Frage wäre: gibts noch ne einfachere Lösung, bzw besser (ich will das schon manuell machen, ohne Module)? Bzw. versuch ich da grade was was mal so garnicht vorgesehen ist, oder macht man das nochmal GANZ anders?
Vielen Dank für eure Hilfe soweit!
Grüße,
Majestic
Ich würde das ganze mit
am 23.09.2010 - 23:01 Uhr
Ich würde das ganze mit Context und Context Layouts machen.
http://drupal.org/project/context
http://drupalcode.org/viewvc/drupal/contributions/modules/context/contex...
* Context UI provides an administrative interface for managing and editing Contexts. It is not necessary for the proper functioning of contexts once they are built and can be turned off on most production sites.
* Context layouts provides a formalized way for themes to declare and switch between page templates using Context. It is a continuation of an old Drupal themer's trick to switch to something besides the standard page.tpl.php file for a variety of special case pages like the site frontpage, login page, admin section, etc.
Hmm... wollte eigentlich die
am 24.09.2010 - 04:12 Uhr
Hmm... wollte eigentlich die Anzahl der Module möglichst gering halten und ich denke die "zu Fuß" Variante ist etwas platzsparender, da ich Taxonomy sowieso benötigen werde.
Weiß denn niemand, wie ich variablen zwischen den einzelnen Template Dateien "hin und her reiche"?
Wäre super, wenn mir da jemand helfen könnte!
Grüße, Majestic