Tagged

Drupal

A collection of 8 posts

Drupal

[Drupal 8] 實作上下一篇連結區塊功能

在部落格的文章當中,時常會看到上一篇、下一篇的連結功能,這個需求其實也算是很常見,在 Drupal 7 中,常常使用 Flippy 這個老牌的模組,可是到了 Drupal 8 這個模組根本就還沒有 8 的版本可以使用,這個時候只能尋找替代方案或是,自己動手作一個來吧。 模組的選擇? Entity Pager 確實很多老模組還沒有升上 8 是讓人很頭疼的事情,可是也因此會找到很多很酷炫的模組,目前找到了一款可以替代 Flippy 的模組,Entity Pager 正是可以完全實現 Flippy 功能的一個模組,這個模組顧名思義,就是使用 views 讓 entity 成為 pager ,聽起來是有一點屌,使用了 views 就代表說篩選、排序都只需要透過 views 就可以完成想要的功能,模組也很貼心的提供了 example

Drupal 8 麵包屑爬坑紀錄
Drupal

Drupal 8 麵包屑爬坑紀錄

Drupal 8 正式版到現在已經快兩年了,7 常用的模組很多都已經有 8 的版本,甚至是已經直接納入核心之內,到現在就還是沒有 Path Breadcrumbs 8 的版本,實在是讓人很頭大,所以只能尋找其他替代的模組來實做這個功能。 代替模組的選擇 Easy Breadcrumb Menu Breadcrumb Current Page Crumb Views breadcrumb 稍微談論一下這幾個模組,Easy Breadcrumb 完全照著 URL 走所以可行性最高,Menu Breadcrumb 太累人了,全都要建立 Menu 所以跳過,Current Page Crumb 就幫你把 page title 掛上去而已沒啥用,Views breadcrumb 根本就沒用R~。 Easy Breadcrumb 優缺點分析

開發 Drupal 你都怎麼 Debug ?
Drupal

開發 Drupal 你都怎麼 Debug ?

前言 身為一位開發 Drupal 的工程師,平時寫寫 code 也是很正常的事情,不管你是很土炮的使用 PHP 的 print_r() 還是 var_dump() 又或是使用模組 devel 自帶的 dpm() 這些都是很好用的 debug 工具。 你會可能會遇到一個狀況 說了這麼多我們 debug 都是在本機上作業,可是當我們遇到了本機無法測試的狀況就很頭大了。比如說:有些程式是背景傳送的,也就是一定要在網路上找的到你的網站才能接收到資料,這個時候就只能寫 PHP log 或是用 Drupal 的 watchdog ,老話一句 身為工程師就是要懶 不想寫 log 不想寫 watchdog 那就試試看 Devel Debug Log 吧。 模組簡介 介紹一個簡單的模組,

Drupal 你還在慢慢刻表單寫資料進 variable 嗎?試試 system_settings_form 吧
Drupal

Drupal 你還在慢慢刻表單寫資料進 variable 嗎?試試 system_settings_form 吧

為何我們需要這個? 系統控制表單那是什麼東西?可以吃嗎?在這之前你必須要認識 Variable 這個模組。那麼 variable 又是什麼呢,Drupal 很多的系統設定都是以 variable 的方式存在系統後台上面,舉凡網站名稱(site name)、網站口號(slogan)、外觀(theme)設定等,這些都是以 variable 的形式儲存在後台內。 那麼話說回來,system_settings_form 跟 variable 有啥關係?作用就在於有些系統設定想要給使用者改,又不想開放這麼大的權限讓使用者亂搞,就會需要用到它了。 我該怎麼看到 variable 當我們將 variable 模組裝起來之後,要開啟附加模組 variable_admin 就可以看到儲存於後台全部的 variable 了 自定義 variable 那麼我們該如何自定義 variable 這我們就必須要撰寫自己的客製化模組了,

新手必看 Drupal Module 整理列表
Drupal

新手必看 Drupal Module 整理列表

Drupal Module 整理列表 對於新手來說學習 CMS 架站最困難的點就是:如何挑選模組,以及模組的功用為何,連選擇模組都是一門學問,自己摸索又會浪費大量的時間在踩雷上,不如看看以下整理出來的模組清單,以下這些模組都是個人使用過所整理出來的,個人常使用的模組也會推薦給大家。 又有鑑於突然想找模組卻又忘記模組名稱,又或是有看到好用的模組卻沒記錄起來這件事情感到可惜,特別開此一篇文章來記錄模組的名稱以及功能,希望能幫助到學習 Drupal 的新手,也藉由此機會整理模組。 大綱索引 本文的介紹方式將會以 基本模組-區塊-資料架構-資料呈現-排版-權限-功能增強 這樣的大方向來進行模組分類,也可以點標題的連結找快速跳到你想看的類型。 個人必裝的模組 建立好一個新的 Drupal 站有些模組是必裝的,很多強大的模組都是基於這些模組所開發出來的,這些模組也可以算是核心模組了吧,甚至有些是 Drupal8 也直接納入核心功能。 區塊 (Block) Block 為 Drupal 的功能之一,區塊的好處在於可以到處重複使用,壞處就是權限的控管並沒有很詳細的處理而且他不是 Entity 的架構,整個網站的組成不外乎區塊跟頁面,所以區塊相關的模組特別整理出來一塊。 欄位 (Field) 整個網站好不好用取決於欄位建的好不好,使用者用起來會不會覺得麻煩,

Drupal FAPI drupal_array_set_nested_value 錯誤
Drupal

Drupal FAPI drupal_array_set_nested_value 錯誤

情境 有時候我們總需要使用 hook_form_alter 將現有的 form elements 進行一些改變或是增加欄位 ,所以我新增了一個自訂的 AJAX 讓它 return 一個 from 給我,可是只要當前頁面 return 兩次以上,或是當前的 form 有錯誤並且再按送出就會有以下的錯誤 Warning:Illegal string offset 'und' at drupal_array_set_nested_value() Error:Cannot create references to/from string offsets nor overloaded objects at drupal_array_set_nested_value(

HybridAuth Social Login Facebook 登入又壞啦
Facebook

HybridAuth Social Login Facebook 登入又壞啦

案發經過 HybridAuth Social Login FB 登入又壞啦,真的我也是醉了,之前遇到 HTTPS 登入失效這次是沒有 HTTPS 的網站也壞了,立馬去查模組 Issues 果然也是有人遇到相同的問題 解法 阿反正去打一下 Patch 去更新一下 Library 就好了大家也都是這樣所以他被 Closed (fixed) 理所當然我也照做了,裝 dev 版本用最新的 Library 豈料最新的 Library 有問題阿,模組直接噴錯給你看 結論 吃我的 Simple FB Connect 這個模組沒問題,就是你了。

Drupal

Drupal Commerce利用Commerce Discount來進行打折超簡單

簡介 Commerce Discount提供了使用者一個新的界面來定義、管理產品或是訂單層級的折價方式,使用上你只需要會懂一點Rules的UI界面即可。核心系統沒辦法提供的貨運或是產品條件的折價方式,但是只要使用這個模組解就可以解決大部分的折價問題。 使用方式 安裝Commerce Discount模組 再Srote/Discount新增一個折價方式 選擇折價整筆訂單還是商品折價 給予折價的條件 折價多少 是否與其他折價方式並用 以下是一個簡單的教學 首先我們先建立一個新的折價方式 取好折價的名稱,以及在結算時顯示的折價名稱 讓我們對整筆訂單進行折價,並且給予折價條件 讓我實際結帳一次試試看 如此一來一個簡單的折價方式就已經完成囉,如果有需求可以搭配Commerce Discount Extra一起使用 可能遇到的問題 經過實際的測試把玩之後有發現了以下這些小問題,不過並不影響整個模組的運行,希望再未來的版本可以被加以改善 某些條件並無法共存 群組的概念並不是非常完善 確認結帳頁無法與Commerce Price Decimals Formatter結合的非常好 當你手動更改了折價的rules將無法再ui上再進行更改 不過不需要擔心,這個模組是由Commerce Guys進行開發的相信不久以上這些問題都可以被解決囉