跳到主要內容

發表文章

目前顯示的是有「徐嘉裕 Neil hsu」標籤的文章

Xoops免費佈景:neilambilight3.6正式版釋出-可兼容TAD模組,佈景設計開發:徐嘉裕Neil hsu

歷經一年多持續開發與優化,neilambilight 3.6 正式版正式登場。本次改版不僅全面強化無障礙AA支援,更導入尼爾自研的「Neil_ISP v2.0 分散式爬蟲攻擊智能防禦安全套件」,大幅提升網站整體安全與流量防護能力。 同時針對介面設計與操作體驗進行全面升級,加入aa-flow 自流動排版機制,可隨瀏覽器縮放自動調整版面,最高支援至400%,並達成TAD模組全面兼容,兼顧美觀、實用、安全、相容與無障礙等多重需求。 本次改版可說是一次從核心到體驗的全面進化,歡迎下載體驗全新升級的 neilambilight! 下載neilambilight3.6正式版       neilambilight3.6佈景展示站 新增與調整重點 無障礙 AA 全面升級 支援 NVDA 讀報、鍵盤操作優化、焦點管理強化 aa-flow 自流動版面(100%~400% 自適應) AWD 自適應流動排版系統 200% 自動單欄重排 250% / 300% / 400% 完整流動支援 全站 CSS REM 化 Neil_ISP v2.0 安全防護系統 蜜罐誘捕爬蟲 行為判斷封鎖 流量防護與 LOG 管理整合 TAD 模組全面兼容 自動補齊 JS / CSS 依賴 修正 tpl 衝突 Neil / TAD 智能分流機制 介面與操作體驗優化 新版 UI 設計(符合現代與 AA 安全色) 漢堡選單 / 浮動選單優化 字級切換與操作回饋強化 實用功能強化 短網址生成與還原功能 JSON-LD 結構化資料(SEO 強化) 表單與登入流程無障礙優化 GTM、AJAX、安全驗證補強     無論是視覺呈現、操作流暢度,或無障礙設計,neilambilight 3.6 都帶來全面性的升級體驗。 如果您正在使用 XOOPS 2.5.11 正式版,誠摯邀請您下載安裝,親自感受新一代佈景系統所帶來的穩定性與效率提升。 neilambilight3.6更新項目 修正無障礙NVDA讀報系統無法辨識JS的Enter事件,導...

XAMPP自行下載PHP官方PHP8.3升級方法

目前這方法只適用於Windows安裝的Xampp,可以下PHP官網的PHP8.3包進行升級,如果是LINUX安裝的LAMPP此方法不適用,可直接跳過! 因為本地端的開發環境需要更高的PHP版本來測試模組,而XAMPP官網釋出的PHP版本只有到PHP8.2,無法滿足需求,只好自己動手DIY升級了,其實方法也很簡單,說明如下: 1、先關閉Xampp Panel的Apache跟Mysql 2、前往PHP官網,下載PHP8.3包(VS16 x64 Thread Safe) 下載連結: https://windows.php.net/download#php-8.3-ts-vs16-x64 重要 (必看) :要下載PHP包必須是"Thread Safe"版本,才正確,因為需要以下4檔 LoadFile "/xampp/php/php8ts.dll" LoadFile "/xampp/php/libpq.dll" LoadFile "/xampp/php/libsqlite3.dll" LoadModule php_module "/xampp/php/php8apache2_4.dll" 必須要有完整四個檔,否則apache跑不起來,升級PHP8.4也是一樣原理 3、吧下載回來的php包放解壓縮放到php資料夾裡面(建立一個php資料夾),然後吧Xampp根目錄中的php檔案更名,例如改為php_8.1,再吧剛剛下載建立的php資料夾放到Xampp根目錄中c:\xampp\php 4、進入php根目錄,找到php.ini-development,複製一份後改為php.ini,用文字編輯器打開進入 5、先搜尋;extension_dir,在下面加上extension_dir = "\xampp\php\ext" 6、再搜尋;extension=curl,會有下面這一排啟用套件設定 將以下套件的;註解拿掉 extension=curl extension=fileinfo extension=gd extension=gettext extension=mbstring extension=exif      extension=mysqli extension...

Google行事曆自訂顯示-月-週-時間表模式

大家最常使用Google行事曆的崁入網站模式應該是月曆模式,其實Google行事曆還有其他模式可以選,可以選擇預設顯示月/週/時間表 三種模式,設定方法如下: 1、先選擇->我的日曆設定->整合日期->點選自訂按鈕 2、會開啟新視窗,左邊有一個下拉選單->預設檢視模式,這裡就能選擇日曆要顯示的預設模式,共有月-週-時間表三種模式,預設是顯示月,如果要改成顯示時間表,就選擇時間表 然後複製右上方的內坎程式碼 如果想在網站首頁顯示-時間表模式的Google行事曆,吧複製的程式碼貼到首頁html結構中即可, 看要顯示什麼模式就自己選擇,非常實用的功能這裡跟大家說明一下。 工作心得分享: 徐嘉裕 Neil hsu

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、升級後舊版佈景建立資料均會保留。 既完成本次升級...

JS捲軸觸發後按時間依次顯示的動畫效果-教學撰寫:徐嘉裕Neil hsu

 寫了一個JS捲軸觸發後按時間依次顯示的動畫效果的範例,效果如下影片 就是當捲軸拉到觸發的ID時物件按照時間依序觸發動畫,這通常用在視差設計裡面,方法如下 //HTML結構 <div class="row"> <div id='addressbox14' class="each" > <div class="col-md-6 addressbox01 " > 略..... </div></div> <div id='addressbox15' class="each" > <div class="col-md-6 addressbox02 " > 略..... </div></div> <div id='addressbox16' class="each" > <div class="col-md-6 addressbox01 " > 略..... </div></div> <div id='addressbox17' class="each" > <div class="col-md-6 addressbox02 " > 略..... </div></div> </div> //JS結構 $(window).scroll(function() { var $scrollTopa =$(this).scrollTop(); //當前座標位置 var $scrollTopb=$scrollTopa+850; //觸發位置 $(". each ").each(function(index) {   var $index=index*270; //setTimeout時間each迴圈取index乘270數...

修正tad_faq2.54新增資料Error : Error: Class 'CkEditor' not found問題-教學撰寫:徐嘉裕Neil hsu

安裝tad_faq2.54進行測試時發現一個問題,就是新增資料時會出現 Error : Error: Class 'CkEditor' not found 本地端測試環境 Xoops2.5.10 php7.36 MySQL10.3.15-MariaDB Tad Tools 工具包3.28 以上都是最新本版的狀態, 所以不會是版本或環境差異造成的 ,那一定是code有問題,開除錯查一下發現index.php少了CkEditor類的引入,加上就正常了!! 找到以下檔案用筆記本打開 modules/tad_faq/index.php 找到第160行,在$faq_cate_opt = get_faq_cate_opt($fcsn);後面加上一段 include_once XOOPS_ROOT_PATH . "/modules/tadtools/ck.php";    //整段code     $faq_cate_opt = get_faq_cate_opt($fcsn);     include_once XOOPS_ROOT_PATH . "/modules/tadtools/ck.php";  //插入這段     $CkEditor = new CkEditor('tad_faq', 'content', $content);     $CkEditor->setHeight(400);     $editor = $CkEditor->render(); 這樣就能恢復正常了 工作心得撰寫: 徐嘉裕 Neil hsu

升級Xoops2.5.10方法-教學撰寫:徐嘉裕Neil hsu

我已經吧Xoops2.5.10升級包整理好了,裡面包括會發生函數衝突的tadtools模組最新版跟導致後台一片空白的tad後臺佈景最新版,所以不用再去下載這兩支檔,升級包裡面就有,按照以下升級說明即可完成Xoops2.5.10升級操作。 1、下載Xoops2.5.10升級包 https://drive.google.com/drive/folders/1pbo3ASRfbhQlc15-yALAXx7_9JwV-xoZ?usp=sharing 2、解壓縮後,吧XoopsCore25-2.5.10 - 升級用\XoopsCore25-2.5.10\ htdocs 資料裡面的資料全部複製,貼到您Xoops的網站根目錄覆蓋舊檔 2、吧xoops_data跟xoops_lib這兩個資料夾複製到您網站原本放置這兩個資料夾的位置覆蓋舊檔 XoopsCore25-2.5.10 - 升級用\XoopsCore25-2.5.10\ xoops_data XoopsCore25-2.5.10 - 升級用\XoopsCore25-2.5.10\ xoops_lib 3、吧XoopsCore25-2.5.10 - 升級用\XoopsCore25-2.5.10\ upgrade   放到您的Xoops網站根目錄中 這樣就完成升級準備,然後在您的網站網址輸入 http://您的網址/upgrade/ 就會出現升級畫面 點選繼續,出現系統管理更新頁面,選擇更新此模組->更新 這樣就完成升級工作了, 最後還有一件工作要做,很重要,就是吧放在網站根目錄的upgrade升級包刪除掉,記得一定要刪除喔。 教學撰寫: 徐嘉裕 Neil hsu

jQuery製作全部核取和取消全部核取方框的語法-教學撰寫:徐嘉裕Neil hsu

如果想做一個核取按鈕點了之後可以吧全部的核取框都變成核取狀態,再點一下取消全部選取,類似下圖這樣 方法如下 //HTM結構 //這是全部核取跟取消核取的按鈕 <label class=' checkbox-inline checkboxeach'><input id='checkbox'   type='checkbox' name='checkboxall'  value='1'>選取</label>  //js取name值 //這裡是php迴圈跑出來的內容 <label class=' checkbox-inline checkboxeach'><input id='checkbox'   type='checkbox' name='readtrue4'  value='1'></label> <label class=' checkbox-inline checkboxeach'><input  id='checkbox'    type='checkbox' name='readtrue5'  value='1'></label> <label class=' checkbox-inline checkboxeach'><input  id='checkbox'   type='checkbox' name='readtrue6'  value='1'></label> //js取id 值 //jQuery語法 //全部選取/取消選取 $(document).ready(function(){ $('input[name=checkboxall]').click(function(){ if( $('input...

php7.3->使用OpenSSL來代替Mcrypt加解密的function製作方法-教學撰寫:徐嘉裕Neil hsu

之前寫過一篇PHP7的AES資料加密function教學 https://neohsuxoops.blogspot.com/2018/05/php7aesfunction.html 但因為php7.1之取消了Mcrypt加密套件,所以原本的方法就不能使用了,必須改用OpenSSL來加密資料,以下為吧Mcrypt加密function替換為OpenSSL加密function的方法,只需要更動function內容即可,在模組中引入的function及傳入值參都不須更動。 原本的Mcrypt加密function //AES 資料加密 function encryptdecode($var="",$types="",$key=""){ //製作SHA384-KEY $hash_string = $key; $hash = hash('SHA384', $hash_string, true); $app_cc_aes_key = substr($hash, 0, 32); $app_cc_aes_iv = substr($hash, 32, 16); //加密 if($types==encrypt){ $data = $var; $padding = 16 - (strlen($data) % 16); $data .= str_repeat(chr($padding), $padding); $encrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $app_cc_aes_key, $data, MCRYPT_MODE_CBC, $app_cc_aes_iv); $encrypt_text = base64_encode($encrypt); $returnvar=$encrypt_text; } //解密 if($types==decryption){ $encrypt =base64_decode($var); $data = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $app_cc_aes_key, $encrypt, MCRYPT_MODE_CBC, $app_cc...

XAMPP for Windows 7.3.6 快速更改mysql密碼方法-教學撰寫:徐嘉裕

按照XAMPP官網說明修改phpMyAdmin密碼簡單很多不用那麼麻煩了,只需要開啟XAMPP Shell命令提示符下指令跟修改config.inc.php即可,方法如下: 開啟XAMPP Control Panel,點選右邊的Shell按鈕 2,輸入以下的指令-按Enter送出 mysqladmin.exe -u root password secret 紅字部分為mysql的登入密碼,可以改成自己需要的 3、找到config.inc.php這支檔 xampp/phpMyAdmin/config.inc.php用筆記本打開 $cfg['Servers'][$i]['auth_type'] = 'http';  //這裡改成http $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'secret';  //這裡改成剛剛變更的密碼 $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['AllowNoPassword'] = true; $cfg['Lang'] = ''; 儲存後,再次進入phpMyAdmin就會跳出輸入密碼框,輸入設定的密碼就可以進入管理資料表了!! 教學撰寫: 徐嘉裕 Neil hsu

Xoops內建圖標Font Awesome的使用方法!!-教學撰寫:徐嘉裕Neil hsu

xoops2.59之後在media資料夾裡面就有放置font-awesome資料夾了,所以不用引入font-awesome.min.css也能直接使用Font Awesome圖標喔! 網站: https://fontawesome.com/ 選擇圖標: https://fontawesome.com/v4.7.0/icons/ 使用方法只要在佈景上或是區塊及模組樣板上放上Font Awesome標籤跟class定義就好了! 例如要使用以下圖標 吧紅框的中的 <i class="fa fa-user-circle-o" aria-hidden="true"></i>  貼到樣板或區塊就能使用了 另外還能調整icon的大小及多項設定,好朋友可以參考看看! 其他設定:  https://fontawesome.com/v4.7.0/examples/ 工作心得教學撰寫: 徐嘉裕 Neil hsu

bootstrap4顏色選擇器插件套用方法!-教學撰寫:徐嘉裕Neil hsu

最近剛好要做到一個可以讓客戶自訂背景顏色的功能,發現這個bootstrap4顏色選擇器插件還真不錯用,基本色都能鍵入,這裡分享套用方法。 1、先去下載bootstrap4套件包  https://github.com/davkhun/color-palette-picker 2、引入套件包裡面的css跟js檔 <link href="bootstrap/4.1.0/css/bootstrap.min.css" rel="stylesheet"> <script src="js/jquery.min.js"></script> <script src="js/popper.min.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/colorpalettepicker.js"></script> 3、在input上方丟一個div區塊<div id='colorpalettediv'></div>  結構 <div id='colorpalettediv'></div>  <input type='text' id='color' class=' form-control' name='color' value='rgb(0, 0, 255)' placeholder='背景顏色'> 4、在頁面最下方呼叫colorPalettePicker函式,並吧color值傳入input中 <script type='text/javascript'> $('#colorpalettediv').colorPalettePicker({ lines:2, b...

寫一個偵測Google翻譯套件切換語言調整頁面css樣式的方法-教學撰寫:徐嘉裕Neil hsu

Google翻譯套件是可以崁在網頁上面讓user自行切換的網頁程式,目前雖然已經停止申請必須使用Chrome瀏覽器的內建翻譯功能,但如果是ie或是ff還是可以用Google翻譯套件,之前有寫過一個教學有需要的朋友可以參考看看!! https://neohsuxoops.blogspot.com/2018/12/googlejs.html 這些是前言,目前遇到需要處理的問題是如果網站是繁體中文,切換成英文或日文因為字元變多了,會導致版面變形,像下圖這樣: 文字都疊再一起了,物件也跑位了,所以必須寫一段code去偵測切換的語言來調整css的文字大小的字句間距,方法如下: //Google翻譯套件程式區 <div id="google_translate_element"></div><script type="text/javascript"> function googleTranslateElementInit() { new google.translate.TranslateElement({pageLanguage: 'zh-TW', includedLanguages: 'en,ja,zh-TW,zh-CN', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element'); } </script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> //判斷Google翻譯套件語言自定義css樣式區 <script> $(document).ready(function(){ $('#google_translate_element').bind(...

分享一個PHP好用的去除副檔名跟取得副檔名function-教學撰寫:徐嘉裕Neil hsu

通常在處理檔案上傳的時候會吧檔名跟副檔名分開處理,這時候就需要移調副檔名或移調檔名了,透過G大神找到神友寫的一篇教學,我吧他程式function起來以方便使用,CODE如下: //吧以下的CODE丟到function.php裡面然後在需要使用的檔案中引入function.php //去除副檔名跟取得副檔名 function strriposfunction($val="",$type=""){ switch($type){ case "1": //去除副檔名 $fileName = $val; if (false !== $pos = strripos($fileName, '.')) { $fileName = substr($fileName, 0, $pos); } break; case "2": //取得副檔名 $fileName = $val; if(false !== $pos = strripos($fileName, '.')) { $fileName = substr($fileName, $pos+1, strlen($fileName)); } break; } return $fileName; } 這樣只需要呼叫 strriposfunction()就能完成去除副檔名跟取得副檔名操作了!! //去除副檔名 $val=test.php; echo strriposfunction($val=$val,$type="1"); //$type=1 去副檔名 得到:test //取得副檔名 echo strriposfunction($val=$val,$type="2");  //$type=2  取得副檔名 得到:php 有需要的朋友參考看看 參考資料來源: https://blog.xuite.net/choubee/blog/39503508-php+-+%E5%8E%BB%E9%99%A4%2F%E5%8F%...

製作AJAX讀取條的方法-教學撰寫:徐嘉裕Neil hsu

如果要做一個AJAX讀取條,像是用在瀑布流讀取資料這樣的特效,方法如下: 使用JQuery AJAX 中的complete,beforeSend這兩個參數。 complete:請求完成時執行的函式(不論結果是success或error)。 beforeSend:發送請求之前會執行的函式。 //AJAX-CODE $.ajax({ url: xoopsjsurl + '/modules/neilwenchuang/ajax.php', type: 'POST', data: { id: $id, sortid:$sortid, number:$number }, cache:false, ifModified :true, async:false, success: function(response) { if(response=="") return false; //空值終止程式 $("#waterfallsflowformboxajax").before("<div id='waterfallsflowformboxajax"+$number+"'>"+response+"</div>"); }, beforeSend:function(){  //發送請求之前會執行的函式 $('#allrecordsimg').show(); }, complete:function(){ //請求完成時執行的函式 $('#allrecordsimg').hide(); },    error: function() { console.log('ajax error!'); } }) //HTML-CODE <p id='allrecordsimg'></p> //...

AJAX+jQuery瀑布流作法-教學撰寫:徐嘉裕Neil hsu

客戶剛好需要做一個瀑布流功能的介面,瀑布流主要功能就是當捲軸拉到瀏覽器底時觸發資料,像是下圖這樣。 詳細程式結構就不描述了,這裡主要是說明透過jQuery觸發ajax讀取資料及控制顯示數量的操作方式,之後如果有需要可以再做其他延伸開發,code如下: HTML結構 <div id='centerbox'> <div class="row customrow"> <{foreach item=boxArr from=$wenchuangshow.neilwenchuangbox}> <div class="col-md-6 customrowcol-md-6"> <div id='contentbox'> <{$boxArr.contentbox}> </div> </div> <{/foreach}> <div id='waterfallsflowbox' name='1,<{$wenchuangshow.sortidDB}>'></div> //瀑布流取值 <div id='waterfallsflowformboxajax' name='0' ></div> //建構瀑布流區 //備註:name='0'為預設值,到時候會透過AJAX回傳數量然後JS在讀取數量來控制顯示筆數 </div> </div> JS結構 //偵測捲軸位置如果到底觸發waterfallsflowboxajax()函數 $(window).scroll(function(){ var scrollint = $(window).scrollTop(); if ($(window).height() + $(window).scrollTop() == $(document).height()) { $ajaxsetup = $("#waterfallsflowbox...

jQuery使用修改name值做一個點擊左右滑動css3動畫區塊特效-教學撰寫:徐嘉裕Neil hsu

最近需要幫客戶做一個jQuery區塊特效,就是點了按鈕左區塊會往左滑出內容區,然後再點一次按鈕左區塊又會往右滑回內容區, 這裡比較特殊工法的是利用修改name值來判斷區塊開啟還是關閉,這樣也能使用.css()來控制區塊的移動特效,方法如下: //html結構 <div id='leftboxdiv'> <div id='switchbtn' name=' go '></div>  //name值預設是go 內容內容內容內容內容內容內容內容內容內容內容 </div> //js-code //滑入滑出左區塊 $(document).ready(function(){ $("#switchbtn").click(function(){ if($(this).attr("name")=="go"){ $("#leftboxdiv").css({"animation-name":"leftboxdivgo","left":"-293px"}); $(this).attr('name','back');  //吧name值改成back }else{ $("#leftboxdiv").css({"animation-name":"leftboxdivback","left":"0px"}); $(this).attr('name','go');    //吧name值改成go } }); }); //css #leftboxdiv{ position: absolute; width: 293px; height: 1076px; background: url(../../img/blocks/travelerliving-commodity_01.png) repeat ...

好用的jQuery custom content scroller(jQuery自定義內容滾動條)套件-教學撰寫:徐嘉裕Neil hsu

最近開發Xoops佈景時候需要修改瀏覽器原生的卷軸套件樣式,也就是overflow-Y: scroll,需要透過css自定義捲軸的背景顏色,但搞了半天IE可以Google可以Firefox就是不行,上網估狗過所有方法CSS都定義不起來,最後還是透過萬能的jQuery來解決吧,直接以程式來處理比用css搞半天快多了,效果還更美觀。 jQuery custom content scroller 插件網站 http://manos.malihu.gr/jquery-custom-content-scroller/ jQuery custom content scroller 插件效果演示範例 http://manos.malihu.gr/repository/custom-scrollbar/demo/examples/scrollbar_themes_demo.html 也可以自行去我的G硬碟中下載已經整理好的套件回去用!! https://drive.google.com/file/d/1sMrp6Tn2zlgyP1bCYowwHYLpTkcil2C0/view?usp=sharing 下載回來後吧scroller.rar解壓縮scroller資料夾看是放到佈景裡面的js資料夾還是模組裡面都可以!! css引入 <link href=" 你的網站網址 /js/scroller/css/jquery.mCustomScrollbar.css" rel="stylesheet" type="text/css"> js引入 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src=" 你的網站網址/ js/scroller/js/jquery.mCustomScrollbar.concat.min.js"></script> //定義scroller ...

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

neilambilight2.9正式版發佈了,本次更新完成了 neothemesadmin佈景管理後台介面全部翻新工作,並增加了許多實用的輔助功能,包括聯絡我們觀看內容表單由後台移往前台,增加連結登入後自動帶入頁面功能及指定會員回覆功能,布景增加將頁面連結快速加入佈景選單功能,頁腳三區塊樣式再開發,及新增加了聯絡我們區塊功能與強化網站表單的防機器人功能, 目前neothemesadmin佈景管理後台100%都已翻新完成,各項功能也已開發完善,預計下次改版將針對佈景前台介面樣式作全部翻新設計,所以 neilambilight3.0將會以全新的介面 全新 樣式呈現給大家 。 Xoops免費佈景-Neil佈景測試站 http://demoweb.neodw.com/themesdemo/ neilambilight2.9 更新內容 ============================== 1、修正neothemesadmin佈景管理模組所有用到分頁功能的排序功能在下一頁輸入數值時會吧其他頁的排序數值歸零問題。 2、修正neilambilight佈景CSS樣式導致作業上傳區塊上傳按鈕無法顯示問題。 3、修正neilambilight佈景meta->og:image讀取圖檔路徑判斷功能失效問題(佈景預設圖檔跟上傳代表圖檔) 。 4、neilambilight佈景聯絡我們表單增加防止外部網站傳參判斷功能,只有在相同網址內聯絡我們送出資料才能寫入資料庫,防止機器人大量外部傳參。 5、修改neilambilight佈景聯絡我們表單防機器人驗證機制。 6、修改neilambilight佈景底三區塊顯示方式,改為樣式1:三區塊全開寬度均分,樣式2:左中區塊開啟,左30%中間70%寬度,樣式3:中右區塊開啟,中間70%右30%寬度,樣式4:只開啟一個區塊,寬度滿版,樣式5:左右區塊開啟寬度各50%。 7、修改聯絡我們說明事項欄位使用base64編碼後儲存及讀取,保留原始格式並防止因特殊字元被防護模組阻擋寫入資料表的問題。 8、neothemesadmin佈景管理模組新增加一個聯絡我們區塊,可由Xoops區塊管理中開啟,建議開啟放置在底區塊中。 9、neilambilight佈景模組頁面增加可傳送頁面連結標題到佈景主選單及佈景區塊選單及佈景圖片...

使用Xoops內建函數$xoopsMailer寄送html格式郵件方法-教學撰寫:徐嘉裕Neil hsu

關於$xoopsMailer郵件參數的基本說明之前有寫過一篇教學了,有需要的朋友可以參考看看!! https://neohsuxoops.blogspot.com/2018/01/xoops-xoops-xoopsmailer.html 上次的範例是寄送純文字格式的郵件,本次教學主要是寄送html格式郵件,也就是電子賀卡或廣告DM那樣的功能,但又不使用繁瑣的樣板模式直接用PHP就能寄送內容,簡單便利,CODE如下。 1、需要先建立一個function放置要寄送的html內容 function  boxfunction(){ global $xoopsModule,$xoopsConfig; //引入CSS檔 $cssbox=" <style type='text/css'> /* <![CDATA[ */ @charset 'UTF-8'; @import url('".XOOPS_URL."/modules/tadtools/bootstrap3/css/bootstrap.css'); @import url('".XOOPS_URL."/modules/tadtools/smartmenus/addons/bootstrap/jquery.smartmenus.bootstrap.css'); @import url('".XOOPS_URL."/modules/tadtools/css/font-awesome/css/font-awesome.css'); @import url('".XOOPS_URL."/modules/模組ID/css/style.css'); #centerboxbody{ position: relative; font-family:'Helvetica Neue',Helvetica,Arial,'微軟正黑體',sans-serif; width: 100% !important; text-align: center; } #ce...