Dynamisch generierte Inserttags für Events
Hallo,
ich habe auf meiner Seite in der Sidebar einen Minikalender der mir die Events anzeigt. In der Hauptspalte befindet sich ein Akkordeon, welches die Informationen zu den Events zeigt.
Ich möchte nun, dass wenn ich auf einen Event klicke, sich das Akkordeon an der richtigen Stelle öffnet und die Seite zur richtigen Position springt.
Mein Akkordeon habe ich bereits so angepasst, dass es mit einer ID aufrufbar ist. In meinem cal_mini.html5 konnte ich die href ändern durch den Inserttag {{event_url::*}} wobei ich den * statisch gesetzt habe zum testen. In meinen Event Einstellungen habe ich den richtigen Link eingegeben mit der ID des Akkordeon-Abschnittes. Mein Ziel ist es, diesen Stern dynamisch mit der richtigen Event ID generieren zu lassen und da komme ich nicht mehr weiter.
Hat da jemand eine Idee wie das zu bewerkstelligen ist? über jede HIlfe wäre ich sehr zufrieden
Danke
klappt leider immer noch nicht
ach ja genau, das echo habe ich vergessen, dies habe ich nun so eingefügt und leider klappt es immer noch nicht. Die links im Kalender linken nun auf die Startseite
Hier der Code vom cal_mini.htm5
HTML-Code:
<a href="#" name="calendar" style="position:relative;top:-80px;"></a>
<table class="minicalendar" >
<thead>
<tr>
<th class="head previous"><?php if ($this->prevHref): ?><a href="<?php echo $this->prevHref; ?>#calendar" rel="nofollow" title="<?php echo $this->prevTitle; ?>"><?php echo $this->prevLabel; ?></a><?php else: ?>[nbsp]<?php endif; ?></th>
<th colspan="5" class="head current"><?php echo $this->current; ?></th>
<th class="head next"><?php if ($this->nextHref): ?><a href="<?php echo $this->nextHref; ?>#calendar" rel="nofollow" title="<?php echo $this->nextTitle; ?>"><?php echo $this->nextLabel; ?></a><?php else: ?>[nbsp]<?php endif; ?></th>
</tr>
<tr>
<?php foreach ($this->days as $i=>$day): ?>
<th class="label<?php echo $day['class']; ?>"><?php echo utf8_substr($day['name'], 0, $this->substr); ?><span class="invisible"><?php echo utf8_substr($day['name'], $this->substr); ?></span></th>
<?php endforeach; ?>
</tr>
</thead>
<tbody>
<?php foreach ($this->weeks as $class=>$week): ?>
<tr class="<?php echo $class; ?>">
<?php foreach ($week as $day): ?>
<?php if ($day['href']): ?>
<td class="<?php echo $day['class']; ?>"><a href="{{event_url::<?php echo $this->id ?>}}" title="<?php echo $day['title']; ?>"><?php echo $day['label']; ?></a></td>
<?php else: ?>
<td class="<?php echo $day['class']; ?>"><?php echo $day['label']; ?></td>
<?php endif; ?>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
</tbody>
</table>
Liste der Anhänge anzeigen (Anzahl: 1)
Danke !!
Super Danke viel mals mit diesem Tag hat es geklappt:
HTML-Code:
{{event_url::<?php echo $day['events']['0']['id']; ?>}}
Ich fasse nochmals alles zusammen wie ich es erstellt habe für die Nachwelt :)
Was ich gemacht habe sieht so aus:
Anhang 12801
Ich habe die Kalendereinträge so verlinkt, dass es direkt an die richtige Position beim Akkordeon springt und das richtige Akk-Element auch öffnet.
Im cal_mini.html5 habe ich folgende Veränderungen durchgeführt:
HTML-Code:
<td class="<?php echo $day['class']; ?>"><a href="<?php echo $day['href']; ?>}}" title="<?php echo $day['title']; ?>"><?php echo $day['label']; ?></a></td>
zu:
HTML-Code:
<td class="<?php echo $day['class']; ?>"><a href="{{event_url::<?php echo $day['events']['0']['id']; ?>}}" title="<?php echo $day['title']; ?>"><?php echo $day['label']; ?></a></td>
Das Akkorden (moo_accordion.html5) habe ich abgeändert, sodass es von Beginn an immer geschlossen ist und zudem über einen Hilfsparameter die einzelnen Element aufgerufen werden können:
Ganz am Beginn des Files folgende Zeilen eingefügt:
PHP-Code:
<?php
$aid = '-1'; // default all closed
//$aid = '0'; // default first open
if ( is_numeric($this->Input->get('aid')) )
{
$aid=(int)$this->Input->get('aid');
}
?>
Zudem noch folgende Zeile nach: new FX.Accordion
HTML-Code:
display: <?php echo $aid; ?>,
Im ce_accordion.html5 habe ich den Anker für das jeweilige Element gleich unter dem section Tag definiert:
HTML-Code:
<a href="" name="<?php echo substr($this->class,-5); ?>" class="<?php echo $this->class; ?>"></a>
Ich habe dann jedem Akkordeonelement eine Klasse gegeben: acc_x
Da es mir als Klasse "ce_accordion acc_x" ausgegeben hat und ich nur acc_x brauchte, habe ich den substring verwendet.
Nun kann ich die einzelnen Element mit ?aid=x#acc_x aufrufen. Damit dies auch über den Kalender funktioniert, muss ich nun den einzelnen Events ein externe Weiterleitung übergeben zu der Seite, wo sich das Akkordeon und Kalender befindet mit den entsprechenen Parametern am Schlus. Bsp: xxx.ch/kochatelier.html?aid=4#acc_4
Besten Dank an MagicSepp für die Unterstützung
ps. Ich weiss das ganze ist nicht perfekt gelöst, aber für den Anfang reicht es mir und falls jemand Verbesserungsvorschläge hat, wie das ganze noch dynamischer Umgesetzt werden kann, bin ich sehr froh darüber.