跳到主要內容

發表文章

Xoops模組區塊開發-修改block.php讓區塊編輯函數(block_edit)也能讀寫content欄位

Xoops模組的區塊欄位資料表newblocks裡面除了有儲存設定的options欄位,還有content的text類型欄位,但除了Xoops自訂區塊能夠寫入content以外,模組區塊就只能以陣列方式儲存options欄位,即使能存進去content也讀不出來,原因是modules/system/class/block.php裡面的$edit_form = $edit_func($options);只允許$options傳入,要能讀出content就要修改block.php這才行,方法如下: 1、找到以下檔案用編輯器打開 根目錄/modules/system/class/block.php 找到第221行 $edit_form = $edit_func($options); 修改為,加上紅字的 $this $edit_form = $edit_func($options, $this ); 2、修改模組區塊函式block_edit,增加$thisvar傳入 //區塊編輯函式 function 模組ID_block_edit($options, $thisvar ){ 略............... } 3、讀寫content方法如下: ->要寫入資料庫,欄位name請用name='content_block' ->要讀出content請用$thisvar->getVar('content', 'e') 以上既完成區塊編輯函數(block_edit)也能讀寫content欄位功能開發,實際來測試看看 先在模組區塊中輸入【測試測試測試測試測1352466】 然後儲存,再確認newblocks資料表的content欄位也是有被寫入!! 然後於Xoops的區塊管理->編輯區塊,查看文字框能否讀出寫入的資料,如果能讀出,表示這一整套流程都沒問題,可安心使用。 以上工作心得撰寫,有需要的朋友參考看看 工作心得分享: 徐嘉裕  Neil hsu
最近的文章

Xoops免費佈景:neilambilight3.4正式版釋出-佈景設計開發:徐嘉裕Neil hsu

本次更新針對Xoops2.5.11穩定版進行了多項優化和改進,包括: 升級樣板結構至Smarty v3.1.48,提升效能和穩定性。優化簡併後端程式,為未來擴充更多功能奠定基礎。修正neilambilight3.3版的bug問題。優化無障礙功能,增加使用aria與alt標籤。優化佈景管理的部分功能,使操作更簡便易於維護。 如果您正在使用Xoops2.5.11穩定版,歡迎下載安裝neilambilight3.4版體驗最新功能! neilambilight佈景展示網站: https://chongshanli.com/ 注意重要: 如果您的Xoops版本是低於Xoops2.5.11-Final以下版本,因Smarty版本不兼容,請勿下載neilambilight3.4安裝,程式會出錯,請先安裝或升級Xoops2.5.11-Final版,以下提供可正常運作並附有中文語言包的Xoops2.5.11-Final下載點,有需要朋友請自行下載。 下載點: https://drive.google.com/file/d/1z9xJUWbYrUgVZWeEzBcftGQcSzX4mKA-/view?usp=drive_link neilambilight3.4更新內容 佈景手機版介面調整,模組頁面標題取消左方ICON功能,標題高度改為自動,最多可以展開到三欄文字高度,增加瀏覽最適化。 刪除無使用的xo_footerstatic.tpl,instructions.tpl,instructions.php,tadloginblocks.php 完成neilambilight佈景樣板及結構Smarty v3.1.48升級工作。 完成neothemesadmin佈景管理模組樣板及結構Smarty v3.1.48升級工作。 修正佈景管理模組->自訂按鈕->圖片按鈕 自訂排序無效問題。 修正隨機小語管理後台背景取色器失效問題,替換取色器JS套件。 刪除無使用的neillibrary/js/bootstrap4color資料夾 修改布景區塊選單子項目功能,移除UI介面的 按鈕型態選擇/設定模組焦點/按鈕連結類型/輸入網址變數四項欄位功能,移除資料表variableid及sortyn欄位,改由建立子項目時PHP自動判斷析網址型態為內連還是外連,若為內連,自動擷取網址中的modulesID

XAMPP更換PHP套件方法,可運作多種版本的PHP

XAMPP是吧Apach/PHP/MariaD三個功能綑綁再一起運作的伺服器套件,我們可以透過檔案修改與資料夾變更方式來切換PHP版本,這樣就能運作不同的PHP的專案,也可以對舊專案進行維護及修改工作。 舉例來說,本地端的xampp環境為Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.1.25 因為舊專案的PHP是7.4無法在PHP8.1中運作,直接更改PHP版本設定比起重新安裝XAMPP7.4要快很多,方法如下: 1、先去XAMPP官網->點選下載->更多下載 然後選擇XAMPP Windows->選擇要下載的版本,例如7.4,直接在瀏覽器搜尋7.4找到7.4.33資料夾 進入後選擇.zip的檔案,例如:xampp-windows-x64-7.4.33-0-VC15.zip,點選下載回來後解壓縮 2、回到目前運作中的XAMPP,開啟Panel吧Apach關閉,然後進入XAMPP根目錄中吧php資料改成php_8.1,然後去剛剛下載的xampp-windows-x64-7.4.33-0-VC15資料夾中,吧php複製後貼到XAMPP根目錄中,所以會有一個php及php_8.1資料夾 3、進入extra資料夾,找到httpd-xampp.conf這支檔,路徑是 C:\xampp\apache\conf\extra\httpd-xampp.conf 然後吧httpd-xampp.conf更名為httpd-xampp.conf_8.1,接者去剛剛下載回來的xampp-windows-x64-7.4.33-0-VC15資料夾中,同樣的extra資料夾位置,吧httpd-xampp.conf複製起來,貼到XAMPP的extra資料夾裡面。 接者用文字編輯器打開httpd-xampp.conf檔,搜尋/xampp,逐一改為XAMPP目前實體路徑位置例如:F:/xampp, 4、然後開啟Panel吧Apach開啟,如果都有按以上步驟執行,Apach因該會跑起來,然後可以在C:\xampp\htdocs放置一個phpinfo.php,檔案的CODE為 <?php phpinfo(); ?> 5、在網址輸入http://localhost/phpinfo.php後搜尋Apache Version,就能看到PHP版本已經

Debian GNU/Linux建立lampp開機自動啟用的方法!!

由於Debian與CentOS指令不相同,CentOS設定lampp開機自動啟用的方法 sudo ln -s /opt/lampp/lampp /etc/init.d/lampp sudo chkconfig --add lampp 在Debian是不可行的,因為Debian改由systemctl 來管理服務,chkconfig指令是無效的。 若要在Debian上設定lampp開機自動啟用的方法如下: 1、建立一個名為 lampp.service 的服務單元文件。使用您喜歡的文本編輯器,例如 nano: sudo nano /etc/systemd/system/lampp.service 2、在打開的文件中,輸入以下內容: [Unit] Description=XAMPP for Linux [Service] Type=oneshot RemainAfterExit=yes ExecStart=/opt/lampp/lampp start ExecStop=/opt/lampp/lampp stop [Install] WantedBy=multi-user.target 這個文件定義了 lampp 服務的啟動和停止方式。 保存文件並退出編輯器。 按下 Ctrl 鍵和 O 鍵以保存文件。會看到提示要求確認文件名,按 Enter 鍵確認。 然後,按下 Ctrl 鍵和 X 鍵以退出 nano。 3、使用以下命令重新加載 systemd 配置以使變更生效: sudo systemctl daemon-reload 4、使用以下命令啟用 lampp 服務,使其在系統啟動時自動啟動: sudo systemctl enable /etc/systemd/system/lampp.service 如果返回 Created symlink /etc/systemd/system/multi-user.target.wants/lampp.service → /etc/systemd/system/lampp.service. 就表示服務生效,下次重啟伺服器後lampp也會一起重新啟動!! 工作心得撰寫: 徐嘉裕 Neil hsu

Xampp將MariaDB改為mysql8.0的方法!!並且可以隨時替換回MariaDB!!

說真的我個人是覺得MariaDB很好用,尤其是root的認證方式採用mysql_native_password驗證,與mysql5.7版相同,與PHP及xoops也沒有兼容性問題,那為什麼要吧Xampp的MariaDB替換為mysql8.0,主要是為了做兼容性測試,因為很多虛擬主機都改用mysql8.0,做一個程式開發者開發的模組必須能在各種環境都下正常運作,所以提供了以下替換方式方便測試,說明如下: 1、先進入phpmyadmin中吧資料表匯出備份(轉換為mysql8.0後需要再匯入一次) 2、在windows上使用【系統管理員身分】開啟XAMPP的Panel,然後吧MySQL關閉。 3、確認關閉後,前往MySQL官方網站下載mysql->zip檔回本地端: https://dev.mysql.com/downloads/mysql/ 4、將Xampp目錄中的mysql改為mysql_M   既為  c:\xampp\mysql 變更為 c:\xampp\mysql_M  5、將下載的ZIP Archive解壓縮後更名為mysql,並複製到c:\xampp根目錄中,所以您的c:\xampp根目錄底下因該會有 c:\xampp\mysql_M c:\xampp\mysql 兩個資料夾 6、以【系統管理員身分】開啟XAMPP的Panel->點選右邊的Shell開啟終端機,輸入以下指令安裝mysql8.0 ->輸入cd c:\xampp\mysql\bin ->輸入mysqld.exe --default-authentication-plugin=mysql_native_password --initialize-insecure --basedir=c:\xampp\mysql --datadir=c:\xampp\mysql\data 接下來稍等約1分鐘,就會看到終端機開始執行mysql8.0套件安裝程序到完成。 7、找到以下目錄c:/xampp/mysql/bin/->建立一個my.ini檔,用筆記本打開貼上以下設定 [mysqld] port=3306  basedir=c:\xampp\mysql datadir=c:\xampp\mysql\data socket=c:\xampp\mysql\mysql.sock 其中的

Xoops免費佈景:neilambilight3.3正式版釋出-佈景設計開發:徐嘉裕Neil hsu

本次釋出的neilambilight3.3版主要是針對neilambilight3.2部分樣式BUG進行修正,也增加了新的佈景布局樣式及更換主選單JS套件,採用更優化的smartmenus選單,讓網站運作更為順暢。 neilambilight佈景展示網站: https://chongshanli.com/ neilambilight3.3更新內容 1、佈景版型配置增加->上右四區塊顯示上方功能,可由佈景管理模組中切換版型。 2、更換布景主選單為smartmenus-1.1.1套件,選單CSS樣式調整。 3、修改關於我們區塊結構樣式,針對Xoops->12個位置做最適化調整。 4、彈出廣告增加自訂廣告圖片寬度功能。 5、修正關閉網站自動放大縮小功能->主選單上下位移錯誤問題。 本次更新釋出版本 neilambilight3.3版 neothemesadmin5.6版 neillibrary2.5版 系統環境需求 PHP版本:PHP7.3包含以上,最佳版本PHP8.1, 建議php7.4(因tad模組只兼容到php7.4) Mysql版本:mysql5.55包含以上到10.4.27-MariaDB Xoops版本:Xoops2.5.10包含以上,最佳版本Xoops2.5.11 升級安裝neilambilight3.3如下說明 1、前往下載neilambilight3.2佈景檔 http://neodw.com/neil/modules/tad_uploader/index.php?of_cat_sn=14 2、解壓縮後,吧htdocs資料夾裡面的檔案全部上傳到網站根目錄中覆蓋舊檔(htdocs或www目錄) ->kernel ->modules ->themes ->register.php ->robots.txt 備註說明:htdocs資夾包含Xoops補丁檔,增加表單防機器人驗證機制,以及區塊$show_func增加$this傳參,若無上傳布景將無法正常運作。 3、進到管理後台->點選模組->點選更新neothemesadmin佈景管理模組 (非常重要) 4、進到管理後台->點選模組->點選更新neillibrary函數庫模組 (非常重要) 5、升級後舊版佈景建立資料均會保留。 既完成本次升級

Xoops免費佈景:neilambilight3.2正式版釋出-佈景設計開發:徐嘉裕Neil hsu

本次升級除修正部分BUG外,也針對功能做了擴充,包括佈景管理後台改用Xoops2.5框架,增加全國據點管理功能,增加簡介區塊管理功能,增加廣告管理功能(GTM代碼管理/彈出廣告功能/右下浮動廣告功能),並精簡優化佈景的程式,重構部分JS及CSS代碼,加快網站開啟速度及穩定性,提供USER更友善的網站使用環境。 neilambilight佈景展示網站: https://chongshanli.com/ neilambilight3.2更新內容 1、調整因Xoops2.5.11變更模組版本數值,修改佈景管理模組更新通知版本判斷方式。 2、修正布景更新通知無法關閉問題,增加紀錄更新時間及關閉通知後下次通知的間隔時間。 3、佈景管理新增加圖片撥放器間隔秒數設置功能。 4、關於我們區塊->新增加圖片按鈕輸入連結網址功能。 5、優化佈景管理->聯絡我們及聯絡我們管理區塊JS表單驗證功能(合併簡化code)。 6、修正布景開啟搜尋區塊捲軸下拉滑動選單會跑位的問題。 7、修改佈景管理模組首頁->改用Xoops2.5框架。 8、刪除無使用的tplthemescss.php檔 9、佈景管理->新增加全國據點管理功能,後台可新增/編輯/刪除/排序/全國據點,前台增加全國據點區塊功能。 10、佈景管理->新增加簡介區塊管理功能,後台可新增/編輯/刪除/排序/簡介區塊,前台增加簡介區塊功能。 11、佈景管理->新增加廣告管理功能。 ->GTM代碼管理,可按照UI指引貼入GTM追蹤代碼,可設定啟用或不啟用GTM代碼。 ->彈出廣告管理,可建立在首頁彈出的廣告圖片及連結,後台可建立多筆資料,有指定及隨機兩種顯示方式。 ->右下浮動廣告管理,可建立網站右下方浮動廣告圖片及連結,一式廣告分為上下兩組,後台可建立多筆資料,有指定及隨機兩種顯示方式。 12、布景js播放器圖改為png格式,更新模組時執行jpg轉png程式。 13、修正因布景存入cookie更新頁面導致FB分享連結抓不到網站內容資訊的問題(標題/圖片/說明)。 14、升級聯絡我們功能,聯絡內容及回覆內容增加URL自動轉連結及保持原格功能,優化code清除不必要的程式碼。 15、修改布景LOGO主標題文字不隨內容變動! 16、升級電腦版網站隨解析度自動放大縮小功能,捨棄zoom改用tra