如何在contao详细信息页和列表页中获取事件前一次和下一次事件?f.e <上一个事件\当前事件( id - 4) \下一个事件
区块报价
发布于 2016-04-26 01:30:34
据我所知,康陶尔3号没有延期。但是,您可以执行以下操作。
在event_full
模板顶部插入以下PHP代码:
<?php
$this->getEventUrl = function($objEvent)
{
global $objPage;
return \Controller::generateFrontendUrl($objPage->row(), '/' . $objEvent->alias, null, true );
};
$objNextEvent = \CalendarEventsModel::findOneBy(
array("startDate > ?", "published = '1'", "pid = ?"),
array($this->startDate, $this->pid),
array('order' => 'startDate ASC'));
$objPreviousEvent = \CalendarEventsModel::findOneBy(
array("startDate < ?", "published = '1'", "pid = ?"),
array($this->startDate, $this->pid),
array('order' => 'startDate DESC'));
?>
这将尝试以最简单的方式获取上一次和下一次事件。
在event_full
模板中插入以下内容(例如,在最后一次关闭</div>
之前)
<?php if ($objPreviousEvent || $objNextEvent): ?>
<div class="pagination">
<?php if ($objPreviousEvent): ?>
<div class="prev">
<a href="<?= $this->getEventUrl( $objPreviousEvent ) ?>" title="<?= $objPreviousEvent->title ?>">
« <?= $objPreviousEvent->title ?>
</a>
</div>
<?php endif ?>
<?php if ($objNextEvent): ?>
<div class="next">
<a href="<?= $this->getEventUrl( $objNextEvent ) ?>" title="<?= $objNextEvent->title ?>">
<?= $objNextEvent->title ?> »
</a>
</div>
<?php endif ?>
</div>
<?php endif ?>
这将在某些HTML代码中将URL与上一次和下一次事件相呼应。
有一些缺点:
start
和end
字段auto_item
参数。更新:我在这里创建了一个Gist:https://gist.github.com/fritzmg/aa4632be2231d77e7d6ec0e5e0a854ae
https://stackoverflow.com/questions/36695722
复制相似问题