Contemplate Multiple Images und Colorbox
Eingetragen von designcontext (143)
am 27.04.2011 - 17:02 Uhr in
am 27.04.2011 - 17:02 Uhr in
Hallo!
Ich versuche gerade in einem Contemplate mehrere Bilder mit Colorbox einzubinden und scheitere an der API. Bis hierhin bin ich gekommen, es fehlt nicht viel:
<?php
$year = format_date($node->created, $type = 'custom', $format = 'Y');
$rel = 'gallery-' . $node->nid;
$rel2 = drupal_attributes(array $attributes = array(rel=>'$rel'));
?>
<?php if ($node->field_chr_bilder): ?>
<h3>Bildergalerie</h3>
<?php
foreach((array)$node->field_chr_bilder['de'] as $item) {
$image = file_load($item['fid']);
print l(theme('image_style', array('style_name' => 'q140', 'path' => $image->uri, 'getsize' => FALSE)),'files/chronik/' . $year .'/'. $image->filename,array('html'=>TRUE));
}
?>
<?php endif; ?>
Ich muß da hinten bei der l-Funktion jetzt irgendwie das $rel2 reinbekommen (http://api.drupal.org/api/drupal/includes--common.inc/function/l/8). Weiß aber auch nicht, ob das mit dem drupal_attributes so paßt. Und eine Klasse "colorbox" müßte auch noch rein...Kann eigentlich kein php...
Kann mir jemand helfen? Danke!
Katharina
- Anmelden oder Registrieren um Kommentare zu schreiben
Ok, nach einem Abend mit
am 27.04.2011 - 22:12 Uhr
Ok, nach einem Abend mit einem PHP-fitten Menschen kann ich jetzt selber antworten und poste hier mal mein Template. Es ist jetzt ein spezielles Template - einen Screenshot der Ausgabe hänge ich mal an. Vielleicht hilft es dem einen oder anderen beim Kampf mit der neuen Drupal-API. Wenn was falsch und "unschön" ist, also eleganter zu lösen ist, dann bin ich für Hinweise dankbar.
Anmerkung: Zum Aufruf der Colorbox muß eine class="colorbox" vorhanden sein. Um alle Bilder zusammen anzuzeigen (zum Durchblättern) muß rel="gallery-nodeid" angegeben werden.
<?php
$date = format_date($node->created, $type = 'custom', $format = 'd.m.Y');
$year = format_date($node->created, $type = 'custom', $format = 'Y');
$klassen = $node->field_chr_klasse['de'][0];
$rel = 'gallery-' . $node->nid;
?>
<div class="grouped-item">
<dl id="info">
<dt class="first">Datum:</dt>
<dd><?php print $date ?></dd>
<?php if ($node->field_chr_klasse): ?>
<dt>Klasse</dt>
<?php
foreach((array)$node->field_chr_klasse['de'] as $item) {
$linkTitle = $item['node']->title;
$linkUrl = $item['node']->uri['path'];
print '<dd>' . l($linkTitle, $linkUrl) . '</dd>';
}
?>
<?php endif; ?>
<?php if ($node->field_chr_klasse): ?>
<dt>Stichwörter</dt>
<?php
foreach((array)$node->field_chr_tags['de'] as $item) {
$linkTitle = $item['taxonomy_term']->name;
$linkUrl = $item['taxonomy_term']->uri['path'];
print '<dd>' . l($linkTitle, $linkUrl) . '</dd>';
}
?>
<?php endif; ?>
</dl>
<?php print $node->field_chr_text['de'][0]['safe_value'] ?>
</div>
<?php if ($node->field_chr_bilder): ?>
<h3>Bildergalerie</h3>
<ul id="galerie-chronik">
<?php
foreach((array)$node->field_chr_bilder['de'] as $item) {
$image = file_load($item['fid']);
$attributes = array('title'=>$node->title,'class'=>'colorbox','rel'=>$rel);
$options = array('attributes'=>$attributes,'html'=>TRUE);
$path = "http://" . $_SERVER['SERVER_NAME'] . '/' . variable_get('file_public_path', conf_path() . '/files/') . 'chronik/' . $year .'/'. $image->filename;
print '<li>' . l(theme('image_style', array('style_name' => 'q140', 'path' => $image->uri, 'getsize' => FALSE)),$path,$options) . '</li>';
}
?>
</ul>
<?php endif; ?>