Skip to main content
Culture is Life

Main navigation

  • Home
  • Technical
  • About
  • Contact
User account menu
  • Log in

Breadcrumb

  1. Home

Technical

By gloomcheng, Thu, 05/13/2021 - 10:02

[Drupal] 檢索本月建立的內容節點

// 取得本月第一天的 timestamp
$first_minute_of_month = mktime(0, 0, 0, date('m'), 1, date('Y'));
// 取得本月最後一天的 timestamp
$last_minute_of_month = mktime(23, 59, 59, date('m'), date('t'), date('Y'));

$query = \Drupal::entityQuery('node')
  ->condition('status', Drupal\node\NodeInterface::PUBLISHED)
  ->condition('type', $bundle_type)
  ->condition('created', [$first_minute_of_month, $last_minute_of_month], 'BETWEEN')
  ->range(0, 10);

return $query->execute();
By gloomcheng, Mon, 02/22/2021 - 17:24

[Drupal] 為 taxonomy overview 增加欄位

在 Drupal 8/9,一般如果想要幫某個系統頁面加上額外的欄位、資訊,第一直覺都會想到用 Views,不過卻不適用於分類總覽(taxonomy overview)頁。要改總覽頁得用 hook_form_FORM_ID_alter() 來處理。

下面的程式範例是以加上分類項目發佈狀態的為例,但會套用到所有分類頁上,如果只想套用到特定的 vocabulary,那可以用 url 的 args 來進一步限制。

By gloomcheng, Thu, 01/21/2021 - 01:26

[Drupal] Redirect 導致的 ERR_TOO_MANY_REDIRECTS

先前遇到一個案例,如果登入後到首頁,就會出現 ERR_TOO_MANY_REDIRECTS 錯誤訊息,但未登入時就沒事。因為只有登入才會有問題,於是就擱置暫不處理。

但後來更新 Drupal core 之後,連未登入也都會出現 ERR_TOO_MANY_REDIRECTS 了,於是直接用關鍵字搜尋,就找到 ERR_TOO_MANY_REDIRECTS,並指引到 Infinite redirect loop when route_normalizer_enabled is true 說明確切的發生原因。

主要原因應該是使用 Redirect 設置重導向頁面,然後其中有部分設置到連回首頁(/)的重導向設置錯誤了,於是造成無限重導向的結果。

By gloomcheng, Wed, 01/20/2021 - 20:26

[QNAP] API 登入認證

去年中嘗試用 QNAP 旗下的 QVR Pro 作為監控系統,並透過他們提供的 API,來取得 QVR Pro 的錄影內容。

雖然 API 設計的還算完善,不過其中對於登入認證的部分,就顯得說明不完整,不管怎麼試就是無法成功登入並取得 session id。後來在 API for QNAP QTS Authentication 這份文章中找到端倪,原來是密碼的部分還需要透過 get_sid.js 程式轉換。

By gloomcheng, Wed, 01/20/2021 - 20:20

[QNAP] SSH 金錀登入

因為 QNAP 的 authorized_keys 的設置位置比較特別,所以特別留個記錄。

  1. 上傳金錀檔案
scp id_rsa.pub admin@ClientIPAddress /etc/config/ssh/
  1. 寫入 authorized_keys 檔案
cat id_rsa.pub >> authorized_keys

完整說明可參閱 SSH: How To Set Up Authorized Keys

By gloomcheng, Fri, 01/15/2021 - 03:10

[Drupal] 自訂資料表及與 Views 整合

本文適用於 Drupal 7。

自訂資料表

如果你需要建構 custom table,那麼你可以用 hook_schema() 來定義資料表結構。 在開始前,建議可以閱讀 Schema API quick start guide

/**
 * Implements hook_schema().
 */
function mymodule_schema() {
  $schema['custom_table1'] = array(
     // 定義資料欄位
  );
  $schema['custom_table2'] = array(
     // 定義資料欄位
  );
  return $schema;
}

上述中,table 陣列下就是定義你這個資料表需要的資料欄位。以 node 模組為例,node table 下每個欄位基本上可以設定以下參數

By gloomcheng, Thu, 01/07/2021 - 00:51

[Drupal] Bootstrap 4 下拉選單改用 hover 作動

之前在 [Drupal] Bootstrap 下拉選單 提過將 click 下拉選單改成 hover 下拉選單,但只適用於 Bootstrap 3。

以下是適用 Bootstrap 4.1.2 以上的作法 [1]

By gloomcheng, Sat, 02/15/2020 - 00:35

[Drupal] Drupal 7 升級至 8

隨著 Drupal 9.0.0-alpha1 版釋出,想說也該把這個網站升級至 Drupal 8 了,於是就又浪費了好幾個小時

話說在前

不論是 Drupal 6 或 Drupal 7 都無法直接升級至 Drupal 8,所以升級流程約略是

By gloomcheng, Mon, 09/23/2019 - 19:27

[Drupal] 在 body 加入 path alias 的 class

Drupal 7 的版型大部分都預設會在 body 元素加入以路徑為主的 class,不過 Drupal 8 的版型似乎預設都沒加入這個功能。如果想將 path alias 加到 body 當成 class 來使用的話,可以用以下的程式來達成

By gloomcheng, Mon, 09/23/2019 - 19:23

[Drupal] VBO 自定按鈕開發

純粹是參考資料筆記而已

Pagination

  • First page
  • Previous page
  • Page 1
  • Page 2
  • Current page 3
  • Page 4
  • Page 5
  • Page 6
  • Page 7
  • Page 8
  • Next page
  • Last page
RSS feed
Powered by Drupal