2014-03-02 32 views
0

我正在使用Meteor創建一個小型CMS。在CMS管理面板中,用戶可以添加頁面。我希望用戶能夠使用選擇下拉菜單爲每個頁面分配一個模板。有沒有一種方法來填充選擇下拉選項與模板名稱從視圖文件夾或類似的東西?Meteorjs:用模板名稱填充選擇字段

回答

1

我想你可以迭代Template對象的鍵。你可能想過濾一些名稱的子集。在這個例子中,我只是刪除所有以下劃線開始的國家:

var names = _.filter(_.keys(Template), function(name){return name[0] != '_';}); 

您可能希望命名所有的一些常見的前綴,用戶可選擇的模板來簡化這個過程。

+0

我不確定這是否是正確的方向。在我的'客戶'文件夾中,我有一個'網頁'文件夾和一個'模板'子目錄。該子目錄包含3個html文件,我想用它來填充下拉列表。 我想使用節點的fs.readdirSync函數,但似乎無法讓它工作。 –

+1

是的,這可能也會起作用,但它似乎會更復雜一點。您可以讓服務器讀取並解析這些文件,然後客戶端可以通過方法調用訪問名稱。在我的解決方案中,模板的名稱已經在客戶端上,因此您不需要涉及服務器。但是,除非您爲名稱加前綴/後綴,否則您不知道它們來自哪個目錄。這完全取決於你的要求。 –

+0

所以,你是方法的作品,我可以將模板的名稱存儲到變量中。現在,我如何解析數組中的每個值並將其添加到下拉列表中。 我想我可以有一個叫做getTemplates的模板助手,然後像{{#each getTemplates}} {{templateName}} {{/ each}}這樣的句柄塊,但不知道如何連線。 –