這是 Angular 2 的學習筆記,主要參考下文的指示練習
Angular 2 Tutorial: Create a CRUD App with Angular CLI
內文提到很多有用的參考資訊,如
- 利用 Angular CLI 建立 component / service
- 利用 Angular CLI 建立 unit test(之後就可以跟 CI/CD 整合)
- 說明 Angular 的檔案結構
這是 Angular 2 的學習筆記,主要參考下文的指示練習
Angular 2 Tutorial: Create a CRUD App with Angular CLI
內文提到很多有用的參考資訊,如
這篇只是筆記記錄,在製作 Masonry 頁面效果時,發現一篇寫得很好的操作記錄,網址如下:
開始使用 Drupal 8 之後,發現居然沒有停用模組的功能了(D8 的停用模組是移除模組,會刪除掉該模組相關的資料),乍看很是不便,上網一找發現因應而生 Disable modules 模組,且在該模組介紹頁發覺 D8 之所以拿掉停用模組功能的原因。
據相關討論內容來看,因為 D8 強調 dev / stage / prod 的開發流程線,因此特別強調設定檔匯入/匯出的機制,這使得停用模組這功能可能導致轉移時的問題,因而索性拿掉此功能了,讓停用模組變成移除模組的功能,把相關資料都移除掉。
Drupal 8 帶來不少變革,相關的操作、應用變異也很大。其中,比較常見的大概就是開始運用 Composer 進行套件管理的工作,甚至是連同安裝 Drupal 8 的方式都因應改變,可謂又是一波典範轉移。
本文主要參考 https://www.drupal.org/docs/develop/using-composer/using-composer-to-ma…,概分幾個段落來記錄。
安裝 Drupal 8 建議的方式已經不是用 drush 來安裝了,而是使用 Composer 來安裝,查了下看來滿多人在使 Drupal Composer 這個工具。要使用這工具前,必須要先安裝 composer。
接著,就可以利用下列指令來下載 Drupal,下載過程同時會下載相關套件、工具,例如 Drupal Console / Drush:
建置網站過程中,有個很重要也很難搞的流程,就是匯入資料。這些資料有可能是從舊的資料庫匯出,也有可能是從 Excel 而來,通常我們都會將這些資料轉存成 .csv 格式的檔案,然後利用 Feeds 模組來匯入。
匯入過程其實不會太難,到 Feeds UI 進行相關的欄位設定即可,比較麻煩的是不同資料類型的欄位的匯入,例如 Image / File / URL 等,有些資料類型有對應的 Feeds 相關模組可以處理(例如 URL),有些我也還不知道怎麼處理(例如 Image / File)。排除這些資料類型不論,匯入過程中最常見的應該是要匯入分類詞,這在 Feeds 中是可以匯入的,只是無法在 .csv 資料檔案中,用同一個欄位來匯入多個分類詞。
現在開發網頁已經很少為了 IE 特別調整什麼了,除非是在公務機關環境,偶爾還是會遇到在使用舊版 IE 的現象。不過這次的問題是發生在 IE11 無法顯示圖片。
首先,我把苗頭放在 Image Style 後產生的 itok,找到「Some images are not displayed in IE [closed]」文章,解法看來是要從伺服器端下手,不過因為主機放在學校資訊中心,若非必要,實在不想求助資訊中心。
如果是改 header 可以解決,那修改 Drupal Core 看來也可能是選項之一,然後找到「Internet Explorer, MIME sniffing and broken images」,仔細研讀後才知道無法正確顯示圖片的正確原因為何。
情境描述:
在主選單加入某個特定內容類型的新增連結,但同時要限制必須是註冊使用者才能建立內容。然而,因為 Drupal menu access callback 的設定,當未登入使用者不具有權限建立內容時,就無法看到 node/add/content-type 的路徑,也就會造成選單中是前述路徑的選單項目無法顯示在未登入使用者的畫面上。
解法:
讓註冊使用者才能建立內容,這在 Drupal 內建的權限控管機制就做得到,只不過可以加上 Redirect 403 to User Login 模組或 LoginToboggan 模組,讓使用者在存取 node/add/content-type 路徑時可以直接導向登入頁,而不是限制存取的頁面。
在開發 Bootstrap 子版型時經常會需要寫些自訂 js 程式,像是 js/theme.js 這類的程式。因為版型的 js 有固定格式的開頭,為了方便找尋,把程式碼貼在下面。
(function ($) {
Drupal.behaviors.exampleModule = {
attach: function (context, settings) {
// Code to be run on page load, and
// on ajax load added here
}
};
}(jQuery));
這是最近處理的案例,遇到異體字「」,這個問題分兩個層次,一個是「輸入」、另一個是「儲存」。
首先,怎麼輸入這個異體字呢?我使用的嘸蝦米輸入法打不出來,雖找到這個異體字的讀音,但注音輸入法也打不出來,所幸,大部分的中文字都已經有其 UTF8 的代碼,網路上總是會有些資源可以解決的。教育部提供的幾部字典都只有提到圖片,而無網頁上可以呈現的文字,腦袋一轉,想到「康熙字典」,於是找到一個康熙字典的連結,也找到這個「字」(在網頁上可以複製的文字),即「𣑯」1
最近因在學校授課之故,又燃起想試做 A/B test 的念頭。想說 Drupal 這麼神奇,應該也會有 A/B test 的工具吧,果不其然。
A/B test:提供一套 API 函式,可以用來實作 A/B test。不過看來是得自己先在 Drupal 做出兩個頁面,再隨機分配給訪客瀏覽。
Optimizely:用來介接 optimizely.com 提供的服務,是從《Growth Hack 這樣做》這本書看到的服務。這服務好像可以直接從 optimizely.com 的後台直接改成 A/B 不同的版面配置,得花時間試試。