0
如何在包含詳細信息頁面和列表頁面中獲取活動的上一個和下一個活動? f.e <上一個活動|當前事件(id - 4)|下一事件如何在包含詳細信息頁面和列表頁面中獲取活動的上一個和下一個活動? f.e <前一個事件|當前事件(id - 4)|下一個活動>
塊引用
如何在包含詳細信息頁面和列表頁面中獲取活動的上一個和下一個活動? f.e <上一個活動|當前事件(id - 4)|下一事件如何在包含詳細信息頁面和列表頁面中獲取活動的上一個和下一個活動? f.e <前一個事件|當前事件(id - 4)|下一個活動>
塊引用
沒有擴展Contao 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
參數更新工作:我有在這裏創建了Github Gist:https://gist.github.com/fritzmg/aa4632be2231d77e7d6ec0e5e0a854ae