event_listing 是 plone.app.events 模組裡定義的 Browser Page,可以被指定成為 Plone Site 或 Folder 的 view method 選項,提供豐富的顯示方式。
event_listing.pt 有定義 mode 變數,預設值是 'future':
tal:define="mode request/mode|string:future;"
如果 @@event_listing 沒有指定 mode 變數值,它會再檢查 _date 變數,最後決定 mode 預設值是 'date' 或 'future'。
if self.mode is None: self.mode = self._date and 'day' or 'future'
點選 Past 頁籤時,它會指定 'past' 給 mode 變數,此時 header_string() 會回傳 main_msgid 的翻譯值,其他情況下,還可能搭配 sub_msgid 變數值。
頁籤的連結網址,也配合變數值來產生,例如 mode_past_url 會把 'past' 傳給 _date_nav_url():
def _date_nav_url(self, mode, datestr=''): return '%s?mode=%s%s' % ( self.request.getURL(), mode, datestr and '&date=%s' % datestr or '' )
event_listing.pt 經由 view/mode_past_url 來指派網址值:
browser/event_listing.pt <a class="mode_past" href="" tal:attributes="href view/mode_past_url" i18n:translate="mode_past_link">Past</a>
No comments:
Post a Comment