Add a new tab, controller, page on CKAN
情境: 我們想要新增一些資料處理的功能 可能跟CKAN本來的Dataset沒有大太關係 所以我們需要新增一個tab,裡面放置我們自己的內容 原本的首頁 目標:新增一個Tab叫Data Cooking,並導到自己設定的頁面 helloChief.html 前置準備: 安裝好 CKAN 2.7.2,可以參考官網教學或 這一篇 新增一個Plugin,完成到 這一步 註: plugin 在官網有時也稱做 extension 我們plugin的名稱叫做 ytdataservice ytdataservice plugin(圖左)與CKAN(圖右)的目錄結構如下: ytdataservice plugin紅色標註的內容是與這次主題有關的檔案名稱 新增: header.html, helloChief.html, controllers.py 修改: plugin.html 首要目標,取代部分的Block 在CKAN的設計上,如果是想要取代掉原有檔案部分的block(區塊) 必須要與原本的CKAN目錄路徑一樣 在這,我們想在原本的 header_site_navigation_tabs 區塊新增一個tab 因此,我們就得在ytdataservice plugin所在目錄對應的位置新增 header.html 程式碼如下 templates/header.html {% ckan_extends %} {% block header_site_navigation_tabs %} {{ h.build_nav_main( ( 'cookData' , _( 'Data Cooking' )), ( 'search' , _( 'Datasets' )), ( 'organizations_index' , _( 'Organizations' )), ( 'group_index' , _( 'Groups' )), ( 'about' , _( 'About' )) ) }} {% endblock %} ...