Tagged

CMS

內容管理系統相關

Apache

ubuntu-apache2-drupal 單一根目錄多網站建立

為什麼要使用多網站? drupal安全性更新問題與減少模組佔用記憶體 如果今天部使用多網站,而是每個網站分開資料夾,那麼今天要做安全性更新,就必須一個網站,一個網站更新。 今天所有網站都放在同一個資料夾,那麼drupal核心更新時,在更新一次,可能就可以更新5.6個網站。 同時也減少大量相同模組安裝,所造成佔用的記憶體。 如何使用多網站(以ubuntu-apache2為例) 1.在/etc/apache2/sites-available/建立設定檔 bene5.n.tw設定檔 nano bene5.n.tw.conf ServerAdmin xyz@arthurtoday.com ServerName bene5.n.tw ServerAlias bene5.n.tw DocumentRoot /var/www/drupal ErrorLog /var/www/drupal/

CMS

Drupal Rules 抓取customer profiles send mail

Rules是一個很好用的模組,常常發信要用到rules,可是要抓取到正確想要的值並不是那麼容易的事情,像是要發送訂購資訊這種信件等等…. 首先先新增自己的一個rules 設定/流程/Rules Add new rule 根據我們要的條件選擇觸發事件在這邊我們選擇Completing the checkout process 條件這個區域就是幫助我們抓取值得地方 動作這個區域就是我們後續要處理的事情 這邊我們先新增一個條件可以看到Select the condition to add 我們選擇Entity has field Data selector我們選擇commerce-order 數值選擇commerce_customer_billing 動作的Select the action to add選擇Fetch_entity_by_id 此時就可以看到我們要抓取的entity Data selector選擇commerce-order:commerce-customer-billing:profile-id 這裡我們給上自己的標

CMS

Ubuntu 12.04 + apache2 + Varnish 4 + drupal7

varnish介紹 Varnish是一款高性能且開源的反向代理服務器和HTTP緩存加速器; 它的作者Poul-Henning Kamp是FreeBSD(註1)的內核開發者之一,他認為現在的計算機比起1975年已經復雜許多。在1975年時,儲存媒介只有兩種:內存與硬盤。但現在計算機系統的內存除了主存外,還包括了CPU內的L1、L2,甚至有L3快取。硬盤上也有自己的快取裝置,因此Squid Cache(註2)自行處理物件替換的架構不可能得知這些情況 而做到最佳化,但操作系統可以得知這些情況 ,所以這部份的工作應該交給操作系統處理,這就是Varnish cache設計架構。 嚴格意義上說,Varnish 是一個高性能的反向代理軟件/軟體,只不過與其出色的緩存功能相比,企業更願意使用其搭建緩存服務器。同時,由於其工作在Web Server 的前端,有一部分企業已經在生產環境中使用其作為舊版本的squid 的替代方案,以在相同的服務器成本下提供更好的緩存效果,Varnish 更是作為CDN(註3) 緩存服務器的可選服務之一。 註1 FreeBSD是一種自由的類Unix作業系統,它起源於AT

CMS

Drupal Commerce Form Validate

有時候製作commerce的時候會遇到一些購買上數量限制,這個時候就必須要自己去寫自己的validate ,畢竟這種事情是沒有模組可以幫你的,這個時候我們就必須要create自己的module 首先我們先create自己的module,然後就要去查一下相關的hook 1.hook_form_alter 2.hook_validate function hellosanta_form_alter(&$form, &$form_state, $form_id) { //dpm($form); if($form_id=='views_form_commerce_cart_form_default'){ $form['#validate'][] = 'hellosanta_batch_commerce_form_validate'; //新增一個自己的validate } } function

CMS

drupal安裝redis

drupal安裝redis 關於redis Redis 是一款開源的,基於BSD 許可的,高級鍵值(key-value) 緩存(cache) 和存儲(store) 系統。由於Redis 的鍵包括string,hash,list,set,sorted set,bitmap 和hyperloglog,所以常常被稱為數據結構服務器。你可以在這些類型上面運行原子操作,例如,追加字符串,增加哈希中的值,加入一個元素到列表,計算集合的交集、並集和差集,或者是從有序集合中獲取最高排名的元素。 為了滿足高性能,Redis 採用內存(in-memory) 數據集(dataset)。根據你的使用場景,你可以通過每隔一段時間轉儲數據集到磁盤,或者追加每條命令到日誌來持久化。持久化也可以被禁用,如果你只是需要一個功能豐富,網絡化的內存緩存。 Redis 還支持主從異步複製,非常快的非阻塞初次同步、網絡斷開時自動重連局部重同步。其他特性包括: > * 事務

CMS

Drupal Markdown filter

Markdown 其實就是給大家一個統一標準的格式,Markdown會自動幫你把文章內容編譯成HTML,好處是哪一天網站突然改版了CSS換了不會造成內文大崩壞的事情drupal使用起來也是非常的簡單只要安裝起模組,並且啟用文字格式就可以了。 那麼首先在這邊安裝的是 Markdown filter [https://www.drupal.org/project/markdown] 模組安裝好之後在 設定/內容撰寫/文字格式新增一個文字格式吧。 新增文字格式 將啟用過濾器內的Markdown功能打勾 文字格式選擇剛剛啟用markdown 就成功囉!!很簡單吧 不過比較不方便的是插入圖片,像是大家習慣的Insert模組插入圖片之後也只是一串img標籤囉

CMS

Drupal Commerce 觀念小筆記

因為工作的關係,有機會可以接觸到購物車這塊,所以特地來寫一點小筆記以免自己日後忘記 Drupal的Commerce組成有以下這些: > * product display (產品顯示) * product (實際上的產品,SKU) * order (訂單) * line item (有數量 價錢 總totla) * tax (稅) * fee (手續費) * shipment (運費) product display就是在content type給人看得node 內容有圖片 簡介之類 ex: iphone product 就是後台給使用者訂 價錢 貨號 尺寸 型號 ex: iphones 64G  白色 一筆order內可以有很多個line item 再加上 tax(line item) shipment(line item)

CMS

Drupal 7 CKEditor Code Snippet 高亮顯示

既然要當作技術筆記的部落格,難免需要放一些code啦,可是如果只用ckeditor放code在複製的時候可能會將網站的html參數也給一起複製,經過了搜尋之後發現ckeditor本身就有code snippet插件可以讓我們來放code 不過原生的樣式非常的醜,而且沒有高亮顯示,讓人不知道頭尾在哪,所以又找了可以跟code snippet整合的模組或是插件,找到了以下模組 1. GeSHi Filter for syntax highlighting [https://www.drupal.org/project/geshifilter]整合性較高 2. highlight js [https://www.drupal.org/project/highlightjs]懶人款 3. Prism [https://www.drupal.org/project/prism]未來潛力組 這三個模組來幫助我們的code 更容易辨識 先來講解一下如何將code snippet叫出來好了 在 設定/內容撰寫/