Content zu benutzerdefinierter Region zuordnen
am 28.02.2008 - 09:38 Uhr in
Ich möchte im Rahmen eines Projektes in einer zusätzlichen Region Content ausgeben, ohne dies über Blöcke durchführen zu müssen. Die zugehörige Region (z.B. "content_right") habe ich erstellt. Diese ist auch mit Blöcken ansprechbar. Grundgedanke ist jedoch, dass Autoren durch die Wahl des Artikel-Typs (z.B. "ArtikelR") einen vorgegebenen Artikel erstellen und dieser dann automatisch an der richtigen Stelle platziert wird (z. B. "content_right").
Auf druzpal.org habe ich dazu den angehängten Artikel gefunden. Allerdings werde ich daraus nicht zu 100% schlau. Muss ich ein Modul programmieren, um den Inhalt zuzuordnen? Ist es evtl. möglich über eine php-Abfrage in der Form
<?php
if ($content_type == 'ArtikelR') ....
?>
Wäre für Hilfe sehr dankbar...
>>>>Regions without blocks
If you want to assign content to regions but not have it output via blocks, do so with the drupal_set_content() function. This allows you to bypass the regular block system. Try something like this:
Set content to regions
In your module code, set content to the regions. You can use region names that aren't listed in your themename_regions() array. That way, the regions won't be available for blocks, and so won't end up with block content in them. Say your regions are called 'region1' and 'region2'. In your module code, do this:
<?php
$output = 'whatever';
drupal_set_content('region1', $output);
?>
In a template.php file, set a variable and assign the region content to it.
<?php
function _phptemplate_variables($hook, $variables) {
// Load region content assigned via drupal_set_content().
if ($hook == 'page') {
foreach (array('region1', 'region2') as $region) {
$variables[$region] = drupal_get_content($region);
}
}
return $variables;
}
?>
Output your content
In your page.tpl.php file, output the regions where you want them:
<?php
print $region1;
?>
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 2 Tagen 21 Stunden
vor 3 Tagen 1 Stunde
vor 3 Tagen 8 Stunden
vor 4 Tagen 1 Stunde
vor 4 Tagen 4 Stunden
vor 4 Tagen 5 Stunden
vor 4 Tagen 8 Stunden
vor 4 Tagen 9 Stunden
vor 4 Tagen 16 Stunden
vor 5 Tagen 1 Stunde