poliphilo 的部落格

您在這裡

覆寫系統渲染機制產生客製化嵌入頁面,以Drupal 10為例

我們在建置網站時,有時候會需要製作客製化的嵌入式頁面,常見範例如要在 iframe 或光箱中顯示特定內容,在這些情境下,嵌入的網頁內容通常不需要(或不應該)包含網站的標準頁首、頁尾、側邊欄等元素,以避免多餘的檔案載入影響效能或重複元素干擾嵌入效果而影響使用經驗。今天就來跟大家分享如何在 Drupal 10 覆寫系統渲染機制以客製化嵌入頁面。

今天的介紹的範例是透過客製化嵌入頁面建立導覽地圖功能,導覽地圖擁有一個非常簡單的網頁架構與內容,並搭配特定的前端函式庫完成互動效果,最後會透過 iframe 的方式將其嵌入。

Drupal 客製化選單權限

在 Drupal 中,我們可以透過「角色」與「權限」的設計為網站建構出一個安全的使用環境,當核心模組提供的權限設定不符合需求時,我們還可以透過 Drupal 提供豐富的 API 來完成,本篇文章來為大家介紹如何透過客製化模組來自訂選單權限。

 

客製化選單權限

假設我們使用一個 Drupal 建立了包含主網域與數個子網域的網站,在這樣的情境下,通常會需要做更細緻的權限控管,這次我們以限定子網域是「sub.example.org」且角色為「Content Editor」或「Site Administrator」才有權限進行選單管理。

首先,我們先建立一個客製化模組(這裡以 Drupal 7 為例)的 .info ,由於本次我們是透過 Domain 模組來管理網域,客製化程式也會使用到相關函式,因此相依性要記得設定。

用 CSS 完成單行與多行省略號功能!

什麼是省略號?

省略號就是「……」,又稱刪節號,中文省略號原本為「…」,後來因為避免與直排文字中的冒號混淆,因此改成「……」。在網頁排版中,常使用於文章列表中的標題與摘要段落,為了讓版面整齊,我們會使用省略號讓文字限制於特定行數使其高度一致。

許久以前,要處理省略號時,可能會使用以下方式

  • 後端程式語言(e.g. PHP)計算字數後加上省略號
  • 前端程式語言(e.g. Javascript)計算字號後加上省略號
  • 使用 HTML + CSS 產生一個內含省略號的小區塊放至在行尾

然而,隨著 CSS 技術的進展與瀏覽器對這些新技術支援度的提升,如今我們可以用幾行 CSS 設定就完成單行文字與多行文字的省略號功能,現在就來為大家介紹一下。

如何在已編譯的 Drupal Twig 中除錯

相關專案: 

在 Drupal 7 時,我們更新 tpl 檔案後直接重新整理頁面就能看到更新的結果,但是 Drupal 8、9 快取機制已經不同,因此會遇到更新 twig 之後重新整理頁面後內容卻沒有更新的問題,接下來主要會整理與翻譯 Debugging compiled Twig templates 這篇文章來說明 Drupal 的快取機制以及如何在已編譯的 Twig 進行除錯。

Drupal 中的 Twig 如何運作

Twig 預設會將樣板編譯為 PHP,並將編譯後的樣板儲存在文件系統中(預設會在 sites/default/files/php/twig)

在 Twig 完成一些標記(markup)後,Render API 中會有另一層快取。Render API 會取用 Twig 建立的標記,並且通常會以這樣的方式對其進行快取,即在這之後的頁面請求與 Twig 無關(如果快取資料保持不變的話),因此,我們可能會遇到 Twig 的 除錯或 auto_reload 設定沒有作用,實際上是因為需要清除快取(或是禁用快取)。

Tag: 

關於選購 Drupal 版型

當專案預算不足或時程較趕時,購買付費版型來建置網站是一個常見的選擇。那麼要如何在眾多版型裡挑選到適合自己的版型呢?通常可以透過二步篩選來找到最接近需求的版型。一般而言,挑版型最重要的幾個核心條件放在第一階段來篩選,以下是我認為必須放在第一步評估的項目:

第一階段評估項目

網站內容架構

網站是由內容們組合起來的,所以不論是在規劃網站架構或是版型設計,「內容」本身都是很重要評估要素,挑選版型時也不例外。建議在挑選版型前要先規劃好網站架構,若有已有 wireframe 更好,這樣在挑選版型時可以注意版型各頁面的呈現方式是否有與自己網站對應到,方能較快速的找到對應程度最高的版型。

Google調整搜尋演算法!你的網站對行動裝置友善嗎?

由於行動裝置的普及,越來越多人透過行動裝置來上網,Google宣布自2015/4/21起進行搜尋排名演算法的調整,會將網站的行動裝置友善度納入排名依據。根據Google聲明,此次演算法的調整會影響全世界所有語言的搜尋結果,不過排名順序的改變僅限於行動裝置,且是對每一個獨立頁面而非整體網站。

如果你的網站尚未有行動版,那麼在行動裝置上你的網站排名會下降。不過不用擔心,一旦你的網站有了行動版(且要通過Google檢測),Google會自動重新分析你的網頁,排序便會再有所變動。或者,你可以更主動一些,要求Google重新分析你的網頁

頁面

訂閱 RSS - poliphilo 的部落格