文章彙整

168 篇文章標籤含"後端開發"

首頁  /  標籤含 "後端開發"的文章

Magento2 開發 – 設置排程群組

如果各位接觸Magento2開發有一段時間,對於添加排程工作想必不陌生。今天想與大家進一步分享的,是關於排程進階的參數控制。如果您發現預計執行的工作,沒有如預期產生在cron_schedule資料表,或者沒有正常的執行,那麼有可能是被這些隱性參數所影響。

Magento2 直接把Block轉換以Ajax方式渲染,迴避Full Page Cache問題

在Magento2大部分的頁面都有Full Page Cache,舉凡像是prodcut、category、cms頁都有使用,讓使用者在下次近入頁面時間提升,但是這對於說想在頁面上想根據不同使用者所呈現不同內容來說是非常惱人的,雖然可以使用cacheable="false"來避免但是這樣便會完全失去Full Page Cache功能,於是剩下的辦法便是使用AJAX拿回沒有Cache的資料進行渲染,但是對於每次都寫一隻AJAX與API的方式來說並不是怎麼的有效率,這邊將提供一個簡單的方法將你的Block轉換為上述方式,只需一個簡單的參數,省下更多的時間。

Category attribute無法存入表單為0值

因為專案需求的關係需要在admin的category的form上新增原本沒有的欄位,上網爬文後我使用category attribute的方式去新增,以下圖所示,是我用的方式。而將這multi-select的選項換成我需要的選項Customer group。

如果使用Cloudflare取IP的問題和解決方法

由於網路發展的快速,越來越多開發者為了避免使用者等待網頁讀取時間過長而使用CDN,而CloudFlare是如今網站常用的CDN服務供應商,專門提供網站加速與安全防護的服務。 最近遇到了一個有使用CloudFlare專案的需求是記錄使用者的IP方便確認哪些是惡意攻擊的使用者以方便封鎖。但因為這個專案是有使用CloudFlare,取到的IP都是從CloudFlare出來的,無法確認真正的使用者是從哪裡來。以下就要來介紹的是在使用CloudFlare時取得使用者真實IP的方法。

Magento 使用 DES-CBC 加密

各位Magento工程師想必常有串接第三方服務的經驗。許多第三方服務供應商會要求先將資料依據指定的加密法加密後再傳送過去。資料加密方式百百種,今天來介紹如何在Magento內使用DES-CBC演算法來加密資料。DES-CBC演算法可參考維基百科,這裡不再贅述。

Magento PhpStorm Plugin(下)

上篇介紹如何安裝Magento官方發布的Magento PhpStorm Plugin, 不小心錯過的讀者們,可以先到上一篇Magento PhpStorm Plugin(上)看看呦!這次要來介紹這個套件方便又實用的功能。Magento PhpStorm plugin以及PhpStorm本身除了上述所提及的以外,還有提供更多便利的功能,有待各位工程師再自行發掘!

git reset的使用方式

今天要來介紹git reset的使用方式。有時候我們在 commit 時,會不小心 add 錯檔案,或是 commit message 寫錯、打錯字,但我們不想要再多新增一個commit,只是想修改原本的內容而已,就會發生「剛才的 Commit 後悔了,想要拆掉重做…」。

Forking Workflow的介紹

今天要來介紹寫CODE在專案進行多人協作時,好用的Forking Workflow。Forking Workflow的主要好處是,不需要所有開發者都擁有能push code到專案的repository中的權限,而其他開發者的Code也可以被整合在一起。每當其他開發者推送修改到自己的fork repository,再發起Pull Reques的通知給專案維護者,讓專案維護者合併到專案repository。這樣專案維護者可以不需要給其他開發者專案repository權限,並接受任何開發者的提交修改。

Line Pay 金流串接

註冊為LINE Pay的商家,可以吸引全球的LINE用戶作為自己的客戶。此外,通過LINE擴展商家的銷售管道,可以預見銷售額的迅速成長。 上次我們已經說過如何申請Sand Box與帳號,現在我們要來串接付款的程式。SandboxUrl : https://sandbox-api-pay.line.me

Magento2 JavaScript mixins介紹

使用mixin可以讓一個class的方法去增加或混合到另一個class裡, 而不用整個class去繼承或覆寫原本的基礎class, 大大增加了開發的彈性, 此篇就要來介紹, 要如去使用mixin方法在Magento2專案裡。範例:延展UI component此示範如何新增一個function至目標component, 使其component屬性可增加

Magento PhpStorm Plugin(上)

IDE作為工程師最重要的開發工具之一,對工程師的工作效率有著決定性的影響。由JetBrains所推出的PhpStorm即便是收費軟體,仍受到廣泛Magento工程師推崇為最適合開發Magento的IDE. 除了PhpStorm本身所帶來十分便利的功能及良好的性能表現之外,搭配Magento官方發布的"Magento PhpStorm" plugin 更是如虎添翼。以下為大家介紹如何安裝及使用Magento PhpStorm.

在GITHUB上建立可供Composer安裝的Magento2 Repository

當module或library需要透過composer來安裝,但卻又沒有packagis帳號時候該怎麼辦呢? 此篇要來介紹,如何在github上建立可以支援composer安裝的Repository,這樣就算沒有將module上傳packagist,也可以透過composer指定Repository進行安裝哦。

MAGENTO 2 – 如何將完整的訂單概要呈現於 Checkout Shipping Step

近期我們收到一個需求是希望能在 Checkout - 1. Shipping 第一階段就能完整呈現 Order Summary ,而原生 MAGENTO 2 所提供的是使用者需要等到 Checkout - 2. Review & Payments 這個步驟時,才會提供完整資訊,下圖截至 Luma Theme 能更清楚看出原生在這兩個步驟所顯示的資訊差異。

Magento2 可售庫存的計算

不知各位是否遇過,明明設定產品的庫存量為正數,但前台卻顯示無庫存,或者下單時被告知無庫存的情況呢?如果對這種情況感到棘手,今天剛好一起來了解庫存可售量,在訂單流程中的增減邏輯吧!我們先從後台新增了一個簡單商品,給定初始庫存量 5。從產品列表,可確認當前庫存量與可售量皆為5。

di.xml注入的使用方式

今天要來介紹如何di.xml注入的使用方式,開發magento2的時候常常會需要plugin或preference去影響原生的程式,如果只要針對原生程式中的一個物件、參數或陣列做替換或注入的話,用preference去覆蓋掉原本的程式又過於費工,這時候就可以用Argument type直接替換或注入就可以。這邊我們預設各位讀者都已經知道如何製作一個基本的magento2 module來進行範例製作,因此這邊只寫出必要的設定檔案。

Laravel 8 URL 改寫問題

網路上有許多支援Laravel的Nginx配置範例。設定是蠻簡單的,不過當使用Laravel 8時,可能會出現以下錯誤。這個錯誤的原因並非太明確,但此問題在Laravel文件版本4.2~5.3中有提到過。關於URL改寫,需要在Nginx的配置文件中加入以下這行

基本的Elasticsearch故障排除

自從Magento 2.4.0,Elasticsearch逐漸成為預設的索引工具。部分的小問題持續發生,其中最重要的就是無法正確搜尋,需要一些Linux技術。如果在執行重新索引後,您覺得索引的性能降低了,此篇文章或許可以協助到您。首先,要透過執行”curl -X GET”來檢查ElasticSearch是否運作正確

內容安全政策:修復Yotpo政策錯誤

Yotpo是內建在Magento中很實用的一個平台,幫助商家可以很輕鬆的收集與顯示客戶評論、照片和影片,提高了客戶的信任度,進而促進銷售。 雖然Yotpo已與Magento完全整合並配置共同運作,但在全新安裝後,並非完全無誤。內容安全政策Content Security Policies(CSP)是最常見的問題。 CSP為一種安全工具用來減緩網站攻擊,像是信用卡盜錄器、連線劫持、點擊劫持等等。要求伺服器在HTTP標題中將腳本、樣式與其他資源的外部資源列入白名單。

基本的VPS安全:SSH

在先前的文章中,我們有列出您需要了解的一些有關VPS安全重要事項。在這第二部分,我們會針對保護您的SSH再做些微深入討論。 SSH(安全外殼協定)是一種在非安全的網路中,提供安全連接到您的VPS協定。代表著就算您使用的是公共wifi,您與伺服器之間的連接會一直被加密著。我們一直把SSH安全放在安全檢查列表的首位,因為安全是最重要的事情。如果入侵者可以得到您的SSH訪問權限,他很有可能閱讀您的資料、放一些惡意軟體、執行一些指令,甚至使用您的電腦資源來為比特幣挖礦或下載非法的內容。

基本的VPS安全最佳實踐作法

想像一下,如果您在市中心經營一家實體店且非常忙碌,誰不想要您的錢呢?自古以來最著名的可說是強盜與竊賊了,那就是為何您總是需要在店裡裝設24/7全天候的監視器。 我們都生活在一個一切都在線上的世界,包括您的事業(而竊賊同樣也在線!)您已經在網路上運作您的事業,然後呢?執行線上事業不只是開發您的網站,為您的產品進行促銷,還有支付您收到來自託管公司的所有帳單:來維護您的網站安全,確保沒人能毀掉您的事業。

使用git attributes正規化專案換行字元

各位開發者所熟悉的專案版控工具git, 無論是一人專案或多人合作專案都有其用武之地。在多人專案中,數名開發者各自在自己的作業系統上進行開發後,將成果發布到repository 上。其他的開發者則將新的內容拉到自己的環境中,再繼續自己的開發作業。這乍聽之下沒什麼問題,多數情況下也不會有什麼問題──直到你遇到這個詭異的現象

Magento2 擴充模組的ACL權限

過去我們已介紹了如何設定Magento後台使用者的權限,在原生的架構下,各模組依功能可細分控管項目,而在客製擴充功能時,勢必也會遇到權限控管需求,今天就跟各位一同來了解Magento的ACL實作方式。首先,需要先了解Magento的ACL架構,是由使用者(User),角色(Role),與資源(Resource)所組成。透過指定角色擁有哪些資源,再將使用者納入角色,來建構使用者對資源的存取鏈。因此要為新功能增加權限,第一步就是定義新的資源。

使用FB Conversions API增加事件與Facebook Pixel兼容

我們也在前篇文章(這裡可以擺個連結)示範了如何使用FB Business SDK新增FB Conversions API,我們將在這篇文章講述如何設定事件。以上是四個常用事件,詳細參數可以到FB Conversions API參數,但是當你已經通過Facebook pixel發送事件則需對重複事件進行刪除,刪除必須滿足兩個條件

FB Conversions API

2021年起 appale 使用 App Tracking Transparency 向 iOS 14 裝置用戶顯示提示。此提示將徵求用戶是否許可第三方應用程式和網站追踪他們,這意味者用戶可以自己選擇是否要提供數據給第三方。影響:這會影響FB在追蹤用戶網路行為,進而影響廣告投放精準度,造成廣告效益降低。由於無法取得資料,業主無法得知廣告效益,是否提升商品加入購物車

在正式環境設定Magento PWA Venia

在開發或測試新功能後,對於在開發者模式下的任何特定Venia環境中,下一步就是要部署正式環境 ,來充分利用Magento前端的客製化及增強程式碼。由於它的屬性與動態性質是基於客製要求及測試,這篇文章將不涵蓋任何標準化下的CI/CD的過程。

翻譯Magento PWA Venia的主題

對於商家來說,針對來自不同國家和語言的顧客,支援不同語言是必須的。原因不用多說:更大的客戶群就意味著更多的商機。有以上需求的Magento商家不用擔心語言支援會是一個麻煩:即使Venia / Magento PWA主題沒有提供拆開即用的國際包(也就是美式英語作為預設語言(en_US));但翻譯一個Venia網站是非常簡單的過程。以下我們就教你怎麼快速進行在Magento中進行前端語言的轉換與翻譯。

Magento FPC清除事件

每個建置網站的人一定都曾思考過這個問題:「如何讓我的網站變得更快?」網站的載入速度除了影響使用者體驗,也和SEO大有關係。因此,許多工程師使盡渾身解數,只求省下那數十毫秒的載入時間。使用Magento建置的網站,其功能強大且完善,但隨著啟用的套件越多,網站的載入速度也會變得越慢。所幸Magento本身已有「全頁快取 (Full Page Cache)」的功能,可大大優化這方面的表現。

將PHP擴充模組部署至Magento Cloud

根據設計,MagentoCloud提供了一個無需配置修改即可立即使用的環境構造,包含運行Magento的所有必要資料及設置,而無需花費時間在找尋正確的配置與規範。但有時因技術的變化,可能需要安裝額外的PHP擴充模組。 最常需要添加的擴充模組通常與安全性有關,例如強化雲環境安全性的新加密演算法。除此之外,為新的模組添加新的PHP擴充模組也是可能發生的情形之一。

修復Magento Cloud上的502錯誤

502 Bad Gateway錯誤可能是個異常發生的錯誤,在特定的整合(開發)環境中。若在檢查Magento Cloud配置與網路速度後,工程團隊仍無法判斷造成該錯誤的根本原因,此錯誤會很難被分析。此篇文章主要為簡述可能造成502錯誤的根本原因與將該錯誤降低的建議方式。

Magento Cloud:建立一個新的整合環境

如果您需要在Magento Cloud建立一個新的整合環境該怎麼做呢?這篇文章中,我將會詳細介紹從Staging branch新建一個整合環境的過程。您注意到Magento Cloud UI介面是非常容易使用的,讓您認為建立一個新的整合環境就像是操作簡易的“刪除”及“從Staging分支”,但您很快就能發現事實並非如此。在刪除整合環境後,您會發現沒有可用的選項得以從Staging網站新建一個分支。若有這種情況,別驚慌。Magento Cloud CLI可以協助解決。

Magento Cloud Command-Line:基礎用法

Magento Cloud的目標之一為有效節省DevOps時間與減少開發上的問題。雖然利用Magento Cloud Web提供的UI是非常方便,但透過Command-Line(CLI)執行同樣地任務會更加省時。

使用bash functions簡化指令

有些常用的magento相關指令比較長,即使有官方縮寫也經常容易打錯。使用bash function可以自定義這些常用指令的縮寫,以進行簡化或是自行使用容易記得的縮寫。

Sendgrid 發信失敗!錯誤代碼421.5.7.1 是什麼原因?

什麼是Sendgrid ?Sendgrid為國際知名的SMTP廠商之一,不熟悉的讀者可能會接著問那SMTP廠商是什麼廠商?簡單來說SMTP廠商提供較可靠的Email郵件伺服器,並經過特殊的Server配置,使得透過SMTP廠商來發送電子郵件時,有比較低的機率會被收件者的郵件伺服器歸類為垃圾信件,重點是您就不需要自己去架設Email郵件伺服器,也不需要花費資源去維護Email郵件伺服器。

使用git interactive rebase改寫commit歷史

只要是有使用過git進行版本控制,一定會發生commit了之後反悔的情況。若僅想要訂正部份commit內容,可使用commit --amend, 但若想要將commit「移除」,則有兩種作法:git revert或git interactive rebase. 

將Magento Cloud請求重新路由轉送至另一個CMS

Magento Cloud顧名思義就是在雲上運作。意思是他們已經為您配置好所有的網路運作及基礎設施,且它們運作的良好。讓您不用擔心那些事情,且作為Magento開發者,只要專注於開發您的網站即可。自從它開始在雲上運作,您可能無法自由地客製您的nginx、防火牆及其他基礎設施方面。在某些情況下,您需要整合一些第三方系統至您的Magento。舉個例,您通常需要有一個wordpress部落格在您安裝的Magento /blog目錄底下運行。

Magento Cloud Cron 不會動的原因

Magento Cloud上的Cron不會動?筆者於用Magento Cloud上部屬的網站後台MARKETING->Promotions->Cart Price Rules的Manage Coupon Codes新增完促銷後,點擊Generate後系統留下此提示訊息後就結束了。

POSTMAN Response直接解密的方法

先前有介紹過一篇 POSTMAN HEADER直接文字加密的方法,打過去的API傳回來的資料可能是加密的資料(如下圖),每打一次API都要再將回傳的資料再找其他方式解密才能閱讀資料是非常麻煩的事情。所以今天要來介紹POSTMAN Response直接解密的方法。

使用Markdown來編寫API

Markdown是一種輕量級標記式語言,他具有輕量化、易讀易寫特性,並且對於圖片,圖表、數學式都有支援,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成有效的XML或HTML。API Blueprint是一種Markdown,針對API做了一些改變,也有很多工具支援,讓你極易產生API並且是開源的。

Magento Cloud – 如何在專案中使用Patch進行修正

現今在專案中,透過composer安裝第三方套件來使用是極為普遍的方式,使用composer安裝的程式碼是來自網路的公版軟件,也就意味著不可任意修改。而實務上,難免會遇到第三方套件存在bug,且尚未釋出修正。我們無法直接去修改vendor中的程式,因為每次composer更新安裝時,程式就會再次被公版覆蓋掉。針對這樣的修正需求,Magento Cloud在部署過程設計了一個Patch機制,可以在composer install完畢,去執行修改vendor裡特定的程式檔案。

給開發者 – 制定軟體版號

作為開發者,對於使用外部軟體套件一定不陌生,有在持續維護的套件,每隔一段時間,就會因功能上的追加或問題修復,釋放出新版程式。在未探究前,我們可能只知道版本基本上是遞增的,似乎又有分大小號。但何時加小號,何時加大號,該如何判斷呢?總會有那麼一天,我們需要自行定義產品發布的版號,今天就一起來認識關於版號使用上常見的慣例與規則吧!

Magento1 與 Magento2擴展模組介紹

此篇文章介紹給已經開發過Magento1轉開發Magento2的技術人員,或是反之Magento2轉開發Magento1的技術人員,來比較Magento1和Magento2之間擴展模組目錄的結構差異呦!

使用submodule管理git子專案

使用Git來管理程式版本,身為開發者一定不陌生。在Magento專案裡,如果遇上原生不支援的功能,我們會自己開發模組,如果這個模組被設計可通用於不同專案,那麼集中一個地方去開發,肯定是較好的維護方式。今天要跟大家分享git本身即有功能可達到此目的,透過submodule的建立,一個模組專案,可以被安裝在不同Magento專案之下,一旦模組有更新異動,各專案可自行同步到最新程式,一起來看看吧!

如何修改Magento2 Increment Id

今天要來介紹修改increment id,在Magento2裡不管是訂單、發票、配送單還是退款單都會有increment id這個欄位,這個欄位就是用來當流水號用的,但為什麼會需要修改這個欄位呢?很多時候在與第三方平台串接時候,都會以increment id當作對接的唯一值,在開發的期間又會有local、test、staging、production各種不同的對接通一個第三方平台,此時就會發生第三方平台收到同樣的increment id導致錯誤,無法繼續進行下去,因此去修改increment id前綴開頭號碼,是最為快速的解決方法!

Magento2 開發 – 使用 Plugin 改變原生行為 (三)

好久不見的Magento2開發-使用Plugin改變原生行為系列又來啦!這次Plugin的使用來到尾聲囉!最後一個,也就是置入點放在最末的 after Plugin,其使用也是最簡單的,我們繼續以先前的範例往下看吧!

Magento2 翻譯語言包權重

當我們製作好翻譯語言包後(還不知道如何製作翻譯包的讀者可以點此連結: Magento2 建立中文翻譯語言包),在Magento專案上有一些地方可以放置這些翻譯語言包,而這些放置的地方會影響到語言包讀取的權重,進而影響翻譯的結果,所以各位讀者需要好好的了解,才能準確無誤的翻譯到所需的字串。

如何在Magento2 system config設置加密欄位

今天要來介紹如何在Magento2將資料加密再存入core_config_data 資料庫表格裡 為什麼需要加密資料呢? 有些資料是敏感性、隱私性高的資料,像是與第三方廠商合作,串接系統時候,通常都會有非公開的API需要以一些金鑰、密碼值進行認證,像這類的資訊在後台填寫時候和存入資料庫時候就應該被加密,就可以預防有權限直接存取資料庫的管理者,也無法拿到金鑰和密碼。 讀者在實作前,應已知如何設定system config data的前提下來進行,如果還不知道如何設定,請詳見此篇Magento 2 資料設定欄位的方法。

如何在Win10上用WSL2建立Linux環境

在許多情況下,開發者必須使用Linux進行作業(包含Magento),但對於台灣Windows占比如此高的國家,該如何有效的切換Windows與Linux呢? 今天的文章就來與大家分享如何在Windows上使用Linux。

使用Certbot安裝Let’s Encrypt

為了網站的安全性與更好的SEO排名,實踐SSL已經是必須的配置,Let’s Encrypt提供免費的SSL憑證,只要證明我們是網站的持有者,就可以免費申請。但Let’s Encrypt的證書每隔一段時間便會過期,方便的是,一個免費的開源工具Certbot,它提供可以自動執行憑證的頒發、安裝,而且操作步驟相當簡易,省去了煩雜的設定時間。下面將與各位分享,如何在LINUX ubuntu 安裝Certbot。

Magento 2.3 更新介紹 – 阿不是阿,你要改資料表你要先講 (三)

繼上篇 Magento 2.3 更新介紹 - 阿不是阿,你要改資料表你要先講 (二) 以來,我們已經可以將轉換過後的db_schema.xml透過安裝/升級來更新我們的資料表,接下來,本篇將介紹如何自訂db_schema.xml

Laravel 7 中的新元件

雖說 Laravel 6 短期內仍會被多數大眾所用,然而使用 PHP 程式語言撰寫而成的框架 -- Laravel 7 近期的來臨,讓我們來學習 Laravel 7 可為專案的開發帶來什麼效益吧!Laravel 7 中的一個新功能為元件標記 (component notation)。有兩種方法可使用元件 - 「層級」或「匿名」,而本文將針對「層級」來做介紹。

Magento Geo IP 導向指南

在多國多語系的網站架構下,往往有個需求是希望使用者第一次進入頁面時,可以自動進到該地區對應的語系頁面,而Magento商店上也有許多的套件可協助滿足此需求,但本篇文章要來介紹如何在沒有套件的支援下,自行將使用者導向到所屬地區的語系頁面。

AWS CodeDeploy 佈屬你的網站,簡單又快速

DevOps在當今是個流行與受歡迎的角色與文化,大部份工程師或多或少也都會碰到架構與佈署的問題。而在佈署程式碼一定也聽過各式各樣的方式,尤其是在尚未建立完善的CI/CD流程時,像是直接上SERVER下git pull、利用rsync、甚至用ftp上傳、或是其他不同方式以及各種互相搭配等等。以下本文及流程將使用CodeDeploy來做說明。

Magento2.3 更新介紹 – 阿不是阿,你要改資料表你要先講 (二)

繼上篇以來,我們已經可以將舊有的install/upgrade Schema以及install/upgrade Data轉換成db_schema.xml和data patch了,那麼接下來,我們可以來測試我們所產出來的db_schema是否會有問題,並使用本文中所提供的command指令!

Magento2 – 給開發者:避開影響效能的程式設計 – 關於Full-Page Cache

有關Magento效能的議題,官方網站已提供了許多由後台設定的優化方式。過去我們也分享了不少實務上有關環境設定的調校方式。今天要跟大家提醒的,是作為開發者,在進行客製時所需注意的細節之一 - Full Page Cache。

如何在Magento2使用Akeneo

Akeneo PIM 可以集中管理產品的數據,讓你的產品資料同步至各個系統中。上次與大家分享了如何手動安裝社群版Akeneo PIM,那麼今天要接著介紹如何透過幾個簡單的指令在Magento中使用Akeneo。

如何在 ubuntu 18.04 安裝 AKENEO 4.0

Akeneo PIM 可以集中管理產品的數據,讓你的產品資料同步至各個系統中。Akeneo PIM 可分為社群版與企業版,今天歐斯瑞要分享的為社群版的手動安裝,讓你可以更清楚Akeneo的架構。

使用Docker在同一機器中建立多站環境

相信有在開發網站並且使用版控的大家,多多少少都有遇過需要同時測試不同feature、不同branch的情況。但可能測試環境又只有一台或是只有一個database,在切換環境的同時可能就影響了資料庫,導致問題發生時不確定是否是另一個branch修改了資料庫所造成;或是直接多個branch merge起來測試卻不知道出問題的是哪一個branch。最理想的解決辦法就是配合CI/CD, 當發出PR時就建立起一台完全獨立的機器以及基本的sample data,這樣就可以單獨的測試該feature的branch,但上述作法會有相當的成本考量。跟著歐斯瑞學習使用docker 及 traefik這個服務的docker來達成差不多的目的。

如何在Ubuntu 16上安裝php oci8 module

PHP如果需要跟Oracle資料庫做溝通的時候,就需要安裝oci8 module,下面會說明如何完整安裝oci8。 本篇文章所使用的環境 PHP VERSION

Magento2使用RAM Disk的時機

硬碟的I/O速度遠比RAM來的慢,如果不想在自已server上面架一個redis的話,可以選擇把magento cache的資料夾改成RAM Disk,這樣就可以把檔案直接丟到記憶體裡面去做保存了,但要小心因為是記憶體有揮發性,所以重開機時、該地方的資料就會不見,這點要切記,所以這個方案通常也只適合放置暫存類的資料。

Magento2使用Redis的時機

Magento本身有良好的cache機制,在預設的情況下都是存儲在硬碟上面,所以寫入跟讀取速度被限制在硬碟的I/O,所以如果要加速Magento存取這一些cache的速度的話,就把這一些cache放入memory去處理。 這時後就可以使用redis去處理這一些cache囉,magento本身做了很好的cache整合,所以可以透過簡單的config就可以去整合redis了!

Magento新增結帳步驟-Part 1

在magento 增加一個結帳步驟不是一件容易的事情,需要了解templates和blocks的關係,以及javascript顯示和隱藏相關步驟。依照六個步驟,login/register、billing information、shipping information、shipping method、payment information、order review 來完成新增。快跟著歐斯瑞一起學習吧!

如何安裝Magento2安全性封包

為了確保商店的安全性,Magento定期會釋出安全性更新的封包,可以在Magento官方網站中看到更新的相關情報。本次的文章要來介紹如何安裝Magento安全性更新。在安裝之前,建議先把全部Magento根目錄的檔案都備份(包括資料庫),萬一不幸在安裝完之後有功能壞掉的情況,這時候可將所有檔案及資料庫還原,再尋找其他的解決方案。另外Magento官方釋出的安全性更新僅包含原生程式碼,如果你有安裝其他的樣板、套件或客製化功能,則需要詢問該開發商是否有相對應的版本可以進行更新,避免有更新不完全的情況產生。

關於 Magento 開發者不能不知道的好用工具

Magento 在開發上面比其他框架較為繁瑣,需要考慮的事情太多,我們綜整了在公司開發期間會使用到幾個較為有用的工具,如PHPStorm、Docker、iTerm 2 for macOS 和 TablePlus,與讀著們分享。

SSH 金鑰是個好主意

「密碼」是很糟糕認證方式!密碼需注意不可丟失,且使用上也相對麻煩。值得慶幸的是,SSH 金鑰可讓遠端連線更加輕鬆,讓我們從透過 ssh-keygen 製作金鑰來開始今天的介紹吧!

如何在Magento2中的searchCriteria filter加入”OR”條件

在建立module或客製化功能時,一定常常都會需要對資料庫操作,其中也不免的會需要下各種的搜尋條件,不論是單純的一個where,抑或是OR、AND,再搭配其他語法達到自己想要的結果。 那相信會點到這篇文章的各位,必是對於M2中要如何使用"OR"條件感到有所疑惑, 當然大家可以直接編寫raw sql來query,不過以下歐斯瑞還是以M2的ORM來說明及操作。

如何使用Magento 2 Complex Messages

Magento 針對顯示通知、警示、頁面錯誤等訊息提供簡單的框架讓開發者使用,而這些訊息可透過幾個簡單的指令去做客製化,如加入超連結、開發獨特辨識器、顯示特定圖示、儲存一般訊息中無法解析的資訊等,皆可自行調整。歐斯瑞帶您學習如何使用這些指令吧!

Magento2.3 更新介紹 – 阿不是阿,你要改資料表你要先講

Magento2.3版最新的資料表定義架構,你用過了嗎? 我們手把手帶您進入更通透的世界。

在Magento 1 新增Eav模組的資料欄位

平常在使用資料欄位時,如果有多商店(multi-stores)的架構會變得非常複雜,也不易維護,但在Magento的產品管理是可以使用Eav模組可以完美解決這個問題。跟著我們一起來學習吧!

如何在Magento2使用command來快速執行Cron

Magento 2 的 cron 非常方便,但是開發期間,常常需要測試,沒有辦法一直等待 cron 來執行,我們介紹另一個方式,能夠快速的執行 cron,一起來看看吧!

淺談Magento資料庫:EAV

在Magento的資料庫中,光資料表就有三百多張,應用於其中的資料結構就是EAV(Entity實體/ Attribute屬性/ Value值),今天讓我們來粗淺的談論一下EAV在Magento的應用及其優點吧。

PHP中的多個漏洞可造成任意代碼的執行

網路安全中心 近期釋出在PHP中發現了許多漏洞的消息。其中最為嚴重的漏洞可允許任意代碼的執行。

使用正確的 xsd 檔,讓你輕鬆找到 Magento 的schema

大家在開發 Magento 的過程中,一定會遇到 Magento 內許多的 XML 檔,不知道該如何定義,也不知道還有哪些參數可以使用,有時候一個參數要找半天,不過好在 Magento 有工具能夠快速產生這些資料,讓我們能夠輕鬆的對應到 xsd 定義檔,一起來看看怎麼做到的吧!

Magento2 移除不需要的模組

Magento2 安裝時資料過於龐大這是眾所皆知的事情了,這次分享兩個作法,教你如何關閉或是刪掉不需要使用的內建模組,讓 Magento 系統更輕巧!

Github的branch權限設定 – Required signed commits

這次介紹的protected branch的一項功能是 Required signed commits,這項功能的用途是用來驗證commit 的作者與github上的使用者是否符合,簡單來說就是做身分驗證,可避免身分被有心人士冒用,接來來馬上來介紹如何設定 Required signed commits。

Magento2.3 探索新大陸

在2018年底Magento2迎來了最新的版本2.3.0,增加許多新功能,也有多更動,而這些改變在官方文件中並沒有特別說明,僅能從原生code裡看出不同,那我們今天就先來介紹在Controller中的異動!

解決Magento 2的問題:調整訂單編號的方法

最近在測試時,發生信用卡交易失敗的問題。查詢log之後發現,是訂單編號重複所造成的!解決的方法也很簡單,問題是該怎麼調呢?我們一起來看看!

Magento2建立Cron Job的兩種方式(一)

Magento開發時常常會需要處理例行性資料,尤其是幫客戶串接各種API或是檔案資料交換時,而Magento有提供CronJob的機制可以來跑這些排程,詳細操作步驟一起看下去吧!

PHP上面使用RabbitMQ

在上一篇安裝RabbitMQ在Ubuntu16.04上已經提過RabbitMQ的介紹及怎麼安裝,所以這一篇就不在多做說明,這一篇將直接介紹如何使用RabbitMQ,RabbitMQ總共有6個pattern,這一篇我們就教你怎麼使用 1. “Hello World”,基本上使用方式都差不多,會一個之後、其它自行摸索即可,不會有太大的難度。  

Magento2上實作Singleton

什麼是Singleton Singleton的道理很簡單,就是確保只有一個instance在記憶體之中。 當我們在使用一個物件的時後,就需要使用new class的方式讓物件實體化再使用它,但如果很多程式都在使用這個class、就會造成很多個instance存在記憶體中,但很多時候我們並不需要一直new獨立instance,像是db的connection,為了避免過度浪費connection,必須確保只會有一個connection存在。其實用static的方式就可以解決這個問題了,但是下static就表示程式再被initialize的時後全部會被放進記憶體,不管它是有被使用或沒有被使用的情況下,如此一來變會造成記憶體的浪費、所以最好的狀態就是要被使用到的時後、再被new出來,並且確保只有一個instance被實體化而已,這樣後我們就需要使用到singleton。 圖片來源:https://www.concretepage.com/design-pattern/example-singleton-design-pattern-java

Magento2 製作客製化付款方式模組

本篇將介紹如何在Magento2新增一個付款方式,可以讓你在後台進行開關,設定付款名稱等設定,如果你需要串接不同金流,本篇將會提供你基礎必須資訊。 *適用版本: Magento2.0.X~2.2.X 製作模組需要的設定檔 首先創立模組需要的註冊檔

安裝RabbitMQ在Ubuntu16.04上

什麼是RabbitMQ 首先,先了解什麼是AMQP,全名是Advanced Message Queuing Protocol,是應用層協議的一個開放標準,主要是用來使用交換系統與系統之間的訊息。RabbitMQ實作了AMQP,是使用Erlang語言編寫,支援多樣的語言,如:Python、Ruby、.NET、Java、JMS、C、PHP。用於在分布式系統中存儲轉發消息,在易用性、擴展性。

如何在 Magento 2 使用 Session?

網頁程式設計師對於 Session 肯定都能運用自如,但在 Magento 2

Magento資料庫串接工具-devart篇

上一篇我們提到透過外部工具連接Magento資料庫的動機,以及需要注意的事項,這篇要提供其他的工具選擇-devart。 devart和上一篇介紹的CDATA相同,兩個品牌的專業都是資料庫與客戶端資料交換,旗下產品多從客戶端各種應用情境出發,進行各種資料庫的存取與更新,當然,電商領域的Magento與市占率極高的統計分析工具-Excel也在他們的服務項目之中。 影像來源:https://www.devart.com/excel-addins/magento.html SOAP VS

Magento資料庫串接工具-CDATA

為什麼會想連接Magento資料庫? Magento作為一個電商管理系統,當然內建了資料匯出/入的功能,也有相對應的介面進行操作,但大型電商通常由不同部門透過Magento,負責管理不同的業務,光是客戶、產品與訂單與稅務等等,可能就分由三個或更多部門分別處理。 假想一下,行銷部門想針對特定產品的追蹤分析;或者您的客戶來源並不一定來自於網站前台等等,這些因素都會使得在Magento中的權限控管,成為一個十分重要卻也相對複雜的議題。若再加入系統管理人員的教育訓練成本等外部因素,資料的交換與分析報表的過程或許會是導入電商系統的一大痛點。 可能適用的情境? 由於Excel作為統計分析工具,有很高的市占率,我們先做出這樣的假設:

Magento 2 EAV Model 介紹 (3) – 在 Magento 2 使用程式新增 entity type

今天要透過程式的方式來教大家如何新增 Entity Type 及其相關的資料表,讓自己的定義的 Entity Type 也可以存取 Attribute 屬性!

Magento 2 EAV Model 介紹 (2) – 使用程式新增 Attribute

上一個篇幅的文章內,我們介紹了 Eav Model 的關係。今天我們要透過程式的方式來教大家如何新增 Attribute

結構化資料 (下)–不會寫code也可以做結構化資料

利用Google Console的資料螢光筆,幫文章網頁畫重點,建立結構化資料,讓使用者的搜尋結果上出現公司的實用資訊,搭配結構化資料測試工具來糾錯,一起來看看如何做吧!

結構化資料 (上)–簡介

什麼是結構化資料 Google 的官方定義: 「如果 Google

Magento 2 EAV Model 介紹 (1)

上次教學了在Magento 2 的自定義事件, 這次要再加碼介紹Magento 的EAV

如何在magento 1 使用event for model

這次Astralweb要教大家如何在資料存進資料庫之前做處理,又不要動到原本架構啦!其實使用event for model這個方式就可以有效地完成喔!

如何在magento 1 使用event for controller

在magento上開發程式時,常需要在原生程式碼前後新增功能,這時善用event功能可以省時省力,以下為新增會員之前觸發event中function的程式碼範例: <events> <customer_logout> <observers> <sso_logout>

Navicat – 統一的資料庫管理工具

今天要介紹一個公司:Navicat(業界統稱導航貓),它考慮到了熟悉每種資料庫、每種管理工具十分耗時耗力的狀況,把各種資料庫包進了其資料庫開發管理工具,並且以其直覺好操作方式受廣大使用者喜愛。

解決PHP5.6及7~ stream_socket_client() 函數問題

Warning: stream_socket_client(): Peer certificate CN=’ *****.com’

Magento2.2於php7.1上修正 “mcrypt_module_open() is deprecated”問題

原先在magento2.1以前都尚未支援php7.1, 而在magento2.2開始正式支援了. 在官方手冊中的敘述: The mcrypt extension

駭客入侵(修正) – 在 Magento 2 後台 Form 表單取得 categories 功能

當您使用PHP製作一個Magento 2後台Form表單則無法有所有UI elements的功能。 我最近遇到了一個將產品目錄列出來的Form表單,並且正在使用一種我已經看到在Stack Overflow網站平台中廣泛使用的hack方法。

Ubuntu如何手動新增虛擬記憶體(swap)

網站伺服器經常會因用途考量低成本,等到發現資源不足時才增加資源;因此也會有記憶體不足的情況,那麼如果主機都已經上線工作了,該如何修改設定呢?在這裡對Ubuntu linux系統介紹設定的方法,只要幾個指令就可設定完成。

Magento 2 資料設定欄位的方法

Magento 內部有一張資料表是用來儲存系統參數,但常常不知道怎麼新增自定義的欄位進去。 今天,我們就來介紹資料設定欄位的方法吧!   1.

Magento2 客製化模組製作

本篇要介紹如何在Magento2上製造一個客製化模組(Extension),我們會介紹一個模組必要的xml配置檔,和建置controller和view,呈現它們是如何溝通傳遞資料。 適用版本: Magento2.0以上   首先我們先決定好模組名稱為AstralWeb_HelloWorld,然後依照此模組名稱在app/code資料夾裡底下建立新的路徑app/code/AstralWeb/HelloWorld,一個模組必需要有registration.php和module.xml檔案,模組才能在Magento2底下運行,這兩個檔案我們建置的位置及內容如下:

在Magento顯示原生SQL語法

Magento標準對資料庫存取的方式都是使用ORM ,需要除錯的時候就會想要印出原生SQL來看看,完整的SQL到底長什麼樣子呢? 第一種情況顯示sql的方式 上圖是取得資料庫資料的程式碼,因為有getCollection,所以內建有一個function可以取得原生sql,echo (string)$collection->getSelect();,就會在畫面上印出sql語法了。

在controller裡面建立layout block

正常的情況下 要設定layout 對應的block以及templates,只要在extension裡面的layout的xml檔案設定就可以了;但是偶爾還是會遇到需要在controller裡面做設定的情況,例如下面的例子:    

Magento 1 模組版本升級設定

本篇文章介紹模組版本升級設定,有的時候模組已經上線了,但之後又有新增資料表欄位的需求,就會需要版本升級,這裡示範Magento模組升級的必要設定。 此範例為0.1.0升級到0.1.1的示範 1.下圖的version標籤內容要設定成要升級版本的版號 2.然後要新增一個檔案upgrade-0.1.0-0.1.1.php 此檔案為0.1.0~0.1.1的升級腳本

Magento 2 ORM 架構淺談 (3)

在上一次的文章中,我們介紹了Collection 中 Select 子句的應用,接下來要介紹的是使用 Model

Magento 2 ORM 架構淺談 (2)

在上一次的文章中,我們稍微介紹了 ORM 在Magento 內部的關係,也教大家怎麼實作了一個 包含

分享Magento1.9.3.1 Coupon 的Bug與修正方式

此次的BUG是在結帳時候,如果你使用Coupon功能獲得折扣,之後就算取消或者此筆結帳完成,卻仍然一直保有Coupon獲得的優惠折扣,這是在開發其中的一個商業網站QA測試驗收時候發現的,先前的magento專案都沒測出這個問題,所以進而去比對其他專案的magento版本和source code,發現在magento的1.9.0.1和1.9.2.0版本,結帳流程的程式碼沒有一些參數設置和驗證,而1.9.3.1版本多了那些參數的設置與驗證導致BUG的產生。 復原BUG的流程 將產品加入購物車 執行Coupon

Magento 2 ORM 架構淺談 (1)

Magento 除了實踐了許多設計模式( Design Pattern )的精神,也還有其他 Pattern ,像是 ORM 的架構就是其中的一種,今天就一起來了解 ORM 在 Magento 2 裡面有哪些好用的方法吧!

php版本升級 php 5 to php 7

有些magento的extension會有Php版本的要求,要求Php版本要7以上,而網站目前的php版本是5的話,就要做Php版本升級。

Magento 2使用Module建立資料表

 Magento 是一個開源的電子商務購物網站,在客製化的時候,難免不了需要自己新增資料表及各式各樣的欄位,在 Magento 內部有實作了很好用的方法,有助於我們資料表 Schema

我愛TMUX

 tmux 是終端機必備的最佳夥伴 我在每台伺服器上都使用它。tmux全名為:terminal multiplexer;tmux以各種方式協助我的工作。 它讓我更有效率的工作。我可以將一個視窗分成多個窗格,而不是以一個視窗填滿整個螢幕。我更可以調整或重新排序我的螢幕和窗格以便我工作。

Chrome Devtools 開發者工具功能介紹(network篇)

前端開發最常使用到的開發者工具面板為 Elements Console   Chrome Devtools

8個強化magento效能的方法

Magento是一個相當複雜的系統,今天就來介紹幾個可以強化它的效能方式:     1.關掉不需要用的運送方法模組,可以強化checkout的效能      Magento預設是會打開Fedex,USPS,UDS,DHL,如果不需要的話,可以都關掉它

清除Magento的Log方式

Magento有一些user的統計資料或記錄,是存在資料庫的,但隨著時間的關係、這一些的資料會變的相當肥大,需要定時做清理。 Magento有相當多的log存在資料庫,隨著資料量的上升, 資料庫的效率會開始變差,所以可以先清除掉這些資料,如果用不到的話!   清除log的方式

秒懂PHP的FastCGI跟PHP-FPM有什麼關係

隨著時間的推進,php可以說是花樣越來越多,很多就在問說CGI跟FPM是有什麼關係,讓小編為大家講解一下!

加速magento! 什麼是Zend Opcache

什麼是Opcache Zend Opcache通過opcode做cache,讓php有快的執行過程,它將腳本存在共享內存中供以後使用,避免掉從磁碟讀取代碼進行編譯的時間消秏,同時它還應用了一些代碼優化模式,使代碼執行更快。   什麼是opcode

PHP bug:使用fopen函式經由SSH2連接SFTP失效

      原文請參閱參考資料1,此Bug發生於PHP 5.6.28與7.0.14以上版本,舉例來說下面這段語法是連接SFTP,準備開啟一個檔案做上傳寫入:

Chrome Devtools 開發者工具功能介紹-source篇

隨著 JavaScript 應用的複雜性逐漸提高,我們需要藉由更有力的測試工具幫助開發快速尋找問題點,並有效地修復它。除了使用 console 輸出檢視外(

如何使用composer安裝magento2

Magento 其實支援多種安裝方式,除了一般常見的下載安裝包之外,因為在 Magnento 2 裡面導入了新的現代化

Magneto2 2.2 不須透過指令自動生成pub資料夾下檔案

過去創立一個主題完成後,在後台選取新建立的主題,前台看到的畫面卻還是未載入css的狀態,這時你會下command “php bin/magento setup:static-content:deploy” ,

Chrome Devtools 開發者工具功能介紹-console

網頁開發者常需與瀏覽器打交道,本文將針對Chrome瀏覽器,教學使用console指令的幾個基本功能!

Magento2測試資料產生工具

        在開發 Magento 的購物商城的時候,常常會需要產生一些測試用的假資料,一方面可以得知開發的頁面是否會跑版,也可以測試自己伺服器的效能是否足夠,是否需要使用更進階的伺服器等級。 而

Cmder 管理工具介紹

日常使用的作業系統是Windows,但Windows內建的命令提示字元真的很難用,cmder這套工具是很好的選擇。他不但好用還可以用一些linux的指令,讓linux的重度使用者可以在windows上面也感受到平常熟悉的環境。

PhpStorm 開發 Magento 外掛工具介紹(一)

說到地表最強的 PHP 開發 IDE ,絕對是屬於

PhpStorm 開發 Magento 專案的初始設定

PhpStorm 開發 Magento 專案的初始設定 說到地表最強的

Magento2-教你如何安裝Robots.txt?

Magento2. 三步驟安裝Robots.txt Robots.txt是一個簡單的txt文件,功能是對搜尋引擎制定搜尋規則,也可以說是搜尋引擎與網站間的協議,告訴搜尋引擎那些網站內容可以被索引,那些是拒絕被索引的。 下面將說明如何在Magento2後台管理Robots.txt:  

如何使用Zabbix Alert Scripts

建立Jabber Script 從終端測試 配置Zabbix使用Jabber script

版本控制與GitHub專案建立介紹

什麼是版本控制? 版本控制是一個能夠記錄一個或一組檔案在某一段時間的變更,使得使用者以後能取回特定版本的系統。   版本控制最常用的架構又分為集中式版控和分散式版控  

安裝與設定ftp使用者,禁止ssh與sftp登入(以Ubuntu為例)

本文將以vsftp為例,示範如何安裝與設定ftp使用者,禁止ssh與sftp登入,因為他在管理與調整權限或是使用者路徑上都較為簡單。

MYSQL Replication教學

在資料庫的建置會有一個很大的問題,就是要做平行延伸及Fail over的問題,如果是Mysq或Mariadb的使用者,就可以透過Relication解決掉資料庫層的這個問題。       * 這個架構我們稱為Master/Slave的架構,我們現在來實際以下的架構圖。

SSL安裝教學

  Apache :   確認申請完憑證、並且已經有Crt跟Private

打造PHP7與PHP5共存環境(Ubuntu)

現在處於PHP5跟PHP7的交換時代,所以很多人在煩腦不想要裝二個系統,一個是給php5使用一個是給php7使用,當然docker或是vmware可以很解決這些問題,那有沒有更簡便的方式呢,那就是小編現在介紹的方式,請照下面的指定做,就可以無腦處理這個問題了。          新增repository :

若Magento排程未正常執行,如何檢查與正確的修正系統設定(以Ubuntu為例)

    安裝Magento免費套件AOE_Scheduler協助檢視資訊。 檢查系統語法是否正確。 寫出系統log,檢視log錯誤進行修正。

PHP程式實作Word轉PDF

在工作中常碰到套表的需求,客戶常常都會提供一個word範本,然後要透過程式去填這個範本,最後還要再轉PDF寄送,格式比較不會跑掉,以下就介紹該如何用PHP程式達成這個需求。

如何收集和翻譯Magento 2中的單字

為了在Magento2中收集用於前端和後端的翻譯單詞,我們需要生成包含所有需要翻譯的術語的csv(逗號分隔值)文件。這些文件我們稱它為字典。該文件的第一列為原始的英文短語,在第二列我們需要添加我們自己的翻譯字詞。第三列顯示短語是在主題或模塊中,第四列顯示在哪個模塊中找到短語。

如何在Nginx環境下設定Magento Multi-website

這篇文章是要跟各位介紹Magento 1.x版本,在Nginx環境下,如何一步步完成多網站的設定。   1.先來準備一個已經安裝好的Magento,這邊舉例給大家參考的網域是: www.aw.com

Magento 2 前台網站開發的第一步

如果直接在Magento的預設主題上編輯或更改預設的主題內容,當Magento2進行更新過後,你的設定可能就會直接被覆蓋掉,因此本文將教學如何在Magento 2 建立新主題。

如何封裝與安裝 Magento 2 語言包

由歐斯瑞團隊提供精心製作翻譯的繁體中文語言包,提供你於Magento系統前後端皆適用,讓你在系統介面上使用更為順暢,更能專注於行銷與市場開發等其他工作項目。

使用Letsencrypt時的注意事項

  以下內容以伺服器主機作業系統為Linux,使用Nginx為前提來進行設定,這邊說明的是在已完成https的設定,若是如何在伺服器使用Letsencrypt簽署SSL,請參考讓網頁連線加密(https)!如何讓網頁伺服器取得免費SSL憑證(Let’sencrypt)。   以下的範例設定若字體為藍色,請參考您自己的設定檔檔名或路徑修改。  

Magento 在Template檔案(.phtm)呼叫CMS Block

今天要向大家分享如何簡單快速在 Template 檔案中直接呼叫 CMS Block

提升MySQL大數據效能(Partition)

隨著使用的時間、資料庫的資料會日漸提升,慢慢的效能就會變的很差,所以我們要將大數據的資料表做分割,讓每一個資料表變的小一些、去提升資料庫的查尋效率。本文將介紹目前分割資料的二種方式,水平分割(Horizontal Partitioning)和垂直分割(Vertical Partitioning)。

MYSQL vs MariaDB

自從MYSQL被Oracle 接手之後每況愈下、所以Michael Widenius 決定fork一套出一套用他女兒命名的資料庫,叫 MariaDB,請看以下兩者的比較。

安裝完 Magento2 之後,ICON不見了怎麼辦?

您有沒有這樣子的困擾,在安裝完 Magento2 及 sample date之後,興沖沖地開啟

如何使用 Varnish 來增加你的網站速度

網站的瀏覽速度會大大的影響使用者體驗,進而影響到他對你的網站評分,本文將介紹如何用Varnish優化網站速度。

如何修改Google Analytics 網站速度的取樣率

Google Analytics 有個網站速度的功能可以追蹤單一個網頁從點擊連結到在瀏覽器上完整顯示的時間。 在預設的情況下,Google Analytics會固定抽出您使用者的

Github如何在二階段驗證啟用時進行版本庫的更新

因為網路安全性越來越受重視,當然各種網路服務也都為了加強而增加各式各樣的防護,就例如二階段驗證。 過去上網只要登入帳號密碼,後來為了防止被暴力破解登入,多出了驗證碼;而最近很多網站服務又多了大家都已經很耳熟的二階段驗證,簡單來說就是登入後再透過手機簡訊或是撥免費電話號碼解鎖的方式,讓帳號安全更多一層保障。 只是問題是,二階段驗證的模式是增加了安全性,可是有很多時候,帳號會有別的功能用途,技術上是無法透過二階段驗證的方式來使用的,就例如今天的例子,Github版本控制。 Github的帳號如果設定二階段驗證,想要推送版本時,會出現驗證不通過的錯誤: 要想解決問題,繼續更新,就需要去帳號裡設定“personal

防止網站被嵌入別人家的網站裡(使用iframe內嵌)

今天歐斯瑞要跟大家分享二種防止網站被別人使用iframe內嵌的方法!

如何在magento商店加上Google Analytics (分析)的追蹤碼

如果要在magento商店加上Google Analytics (分析)的追蹤碼,您不需要懂任何的網頁程式碼,Magento後台提供給您二種方法,輕鬆為Magento商占加上Google Analytics (分析)的追蹤碼。

解決Nginx與php-fpm發生504 Gateway Time-out問題

我們可以對Nginx與php的設定參數進行適當的調整,讓504 Gateway Time-out在正常狀況下不會發生,影響網站的運作。

Mysql 設定綁定IP

今天要介紹的在Mysql設定檔中修改bind-address的設定,如此一來在我們有需要分開主機,以及主機間需要互相進行資料庫連線時,就可以連線了。

變更Magento後台網址

今天要來介紹如何快速的變更Magento後台網址,其實很簡單,只要打開local.xml設定檔修改就完成了。 1.首先我們要找到,app/etc/local.xml, 2.找到以下段落,進行修改   設定檔:local.xml

Magento 如何增加後台列表欄位 – 使用合併查詢(Join)

  Magento擁有非常完整的後台功能,可以讓我們盡可能的進行網路商店的操作與管理,但是如果今天,我們感覺後台的列表顯示的資料欄位不夠,或是不是我們想要瀏覽的資訊,想要隱藏呢?   這時就需要修改程式碼增減欄位,並且設定欄位顯示我們想要的資料,今天介紹的內容包括如何使用Join加入其他關聯表的資料。  

調整系統設定,再進一步增進Magento效能

之前提到的Magento設定優化,是在Magento系統中已整合好的設定功能,因此我們可以簡單的通過後台設定的改變,輕鬆的做到校能的優化。   如果今天網站的規模龐大,那些設定已經不足以負荷時,還有別的方式可以調整設定,只是建議大家在進行此類的設定變更前,務必進行設定檔案的備份,不小心改壞了設定還可以還原。 1.Enhancing the

Centos-PHP環境下設定Mssql連線功能與啟用

  在預設的PHP環境下,是沒有對microsoft sql server支援連線功能的,因此我們需要進行套件的安裝與啟用。  

利用htaccess設定301 redirect

有時網站會有舊站翻新、舊的內容移除,想要讓使用者轉移去瀏覽新的內容。 這時我們可以簡單的透過設定.htaccess檔案,告訴Apache幫你轉移網址到想要的網頁。 程式碼(.htaccess檔案) ... <IfModule

Centos環境下,安裝Epel擴充資源庫

在Linux系統上的資源庫(repository)就像一份清單,紀錄著哪些資源可以去哪邊下載更新,跟著本篇教學一起在Cento環境下安裝Epel擴充資源庫吧!

歐斯瑞的工具百寶箱大解密

  網頁設計百寶箱 歐斯瑞的有許多夥伴們都是網頁製作高手,一個一個吸引人駐足逗遛的網站就在在他們的巧思跟精湛的技術下誕生出來。 工欲善其事,必先利其器;這些亮眼的網站當然不是設計師跟工程師們變魔術變出來的,而是歐斯瑞的夥伴們依照設計跟製作的流程、使用各種適合的工具製作出來的。我們依照設計跟程式製作的流程把這些好用的工具分類好;接下來,就為各位歐斯瑞的好朋友介紹這些工具。 網頁設計

Magento 無法更新與安裝 extension – SSL(https)

Magento 無法更新與安裝 extension,這個問題會發生的情形,主要原因是, Magento 在版本

網站伺服器出問題,快速設置維修網頁!

當網站的伺服器突然出現問題,我們必須為了這個情況快速的設立維修頁面,讓使用者知道目前網站出了些問題,暫時停供網站的服務。

如何在側邊欄位加入客制化區塊

客制化你Magento系統有時候需要一點編碼來幫助你建立你的網站,讓你的網站更方便管理,以下我們要教大家如何將客製區塊加入到頁面的側邊欄。 本次範例我們將加入客製區塊到商品分類頁面中的左側欄。 首先,先在Magento管理後台 CMS ->

改善Magento商品圖片的品質

為了有效的提升瀏覽網頁的體驗,Magento系統在前端頁面產生商品圖片之前,會將圖片做品質的壓縮,雖然影響的程度不大,但是您還是想要在商品頁面中呈現高品質的商品圖片,可以採用以下作法: 步驟1 複製 /lib/Varien/Image/Adapter/Gd2.php 檔案

【MAGENTO架站流程】第二階段:系統安裝與備份

完成Magento主機環境準備後,接下來就是在主機上設置你的Magento網站,本文將介紹如何幫Magento網站做系統安裝與備份。

如何在Magento商品頁面,利用AddThis套件新增社群分享功能?

目前社群分享功能在電商網站中非常熱門,網路上已經有幾家公司整合了各種社群功能,方便商家使用,今天Astral Web要介紹的是「AddThis」,它在Magento Connect中有提供Magento的擴充套件包,本文將與大家分享如何在Magento產品頁面中,利用AddThis增加社群分享功能。 為了方便Magento使用者找尋各種擴充套件,Magento官方提供了Magento Connect平台(需註冊Magento帳戶),可以在這裡找尋你所需的功能套件;接下來我們將逐步演示如何安裝AddThis與使用社群分享功能。

解決Magento的疑難雜症─local.xml

local.xml 檔案是在Magento系統中非常重要的檔案,負責儲存Magento安裝參數,包含系統連結資料庫的參數、密鑰、安裝日期以及後台URL,根據需求有時會需要更改這個檔案,本篇文章將分享我們操作的經驗、遇到的問題和解決方法,希望大家在更改此檔案時更順利。 情況一: 將local.xml從etc資料夾中移除後執行網站,網站中會呈現安裝的畫面,然而,我們沒有安裝就把原本的local.xml放回原先的資料夾,此時網站卻出現錯誤報告,重新整理了數次也無法回復至先前的網站。 解決方法:

Magento教學:如何在訂單信件增加產品圖片?

歡迎使用Magento購物車系統,今天Astral Web要和大家分享如何在訂單信件中,加入購買商品的圖片。一般來說,使用Magento預設的訂單信件,僅會顯示訂單資訊,不會有商品圖片;今天我們要教大家置入一段程式碼,即可在訂單信件中顯示購買商品的圖片,方便客戶確認訂單。由於此教學將會使用程式碼,因此適合有程式背景的朋友參考,以免操作不慎影響網站喔! 教學影片: . 首先請看Magento預設的訂單信件,範例如下:

完成開發的Magento金流串接─歐付寶、支付寶與Smile Pay!

本文將整理電商如何串接Smile Pay、支付寶、歐付寶,以及Magento金流串接。

Magento主機轉站教學

想要將Magento網站搬移至另一個主機,卻不知道如何進行嗎?搬移Magento主機有許多方法,今天Astral Web要教您一個簡單的轉換方式,幫您順利轉移主機。特別注意本篇文章對一般使用者來說稍嫌複雜,適合有工程資訊背景的朋友參考。 首先,您必須先有以下事前準備: 1. 新、舊主機的資訊

Magento使用教學導覽,幫助您快速連結至相關文章。

歡迎使用Magento購物車系統,Astral Web整理了Magento的相關資訊與教學,淺至後台基本操作,深至開發整合,希望能幫助各位朋友了解Magento系統。

免費購物車系統,輕鬆建立Magento第一步!

Magento為多功能購物車系統,為電子商務提供了靈活、強大的管理系統,今天Astral Web要教大家下載Magento社群版本,建立使用Magento的第一步!

用編碼在Magento首頁新增客製化選項, 門外漢也能輕鬆完成!

購物網站的選單總是一成不變,想要新增自訂選項卻不知道如何著手嗎? Magento購物車系統的優點之一就是客製化方便,雖然無法從後台直接新增選項, 但有個簡單的方法可以輕易解決這個問題,讓您在首頁上方新增自訂選項喔! 今天Astral Web就要教大家如何用編碼(coding)的方式,來進行客製化選項新增,方法簡單,相信就算是對編碼一竅不通的人也能學會!