帳號登錄
帳號:
密碼:
記住我 | 忘記密碼 | 帳號註冊
網站導覽

PROFILE ARTICLE
作者 Mesak 於 2010年09月21日 14:30:00 (7826 次閱讀)

XOOPS 許多佈景檔會預先在入 JS 在模組內如果重複引用到 JS 檔的話,容易造成Javascript 的程式出錯   提供一個函式   function tpl file include($tpl include){ if(!isset($xoopsTpl)){ $xoopsTpl = new XoopsTpl(); } $xoopsTheme = $xoopsTpl->fetch($GLOBALS['xoTheme']->path . '/' . $GLOBALS['xoTheme']->canvasTemplate); foreach($tpl include as $type => $file array){ foreach($file array as $file){ if(is bool(strpos($xoopsTheme, $file))){ switch($type){ case 'js': $GLOBALS['xoTheme']->addScript(XOOPS URL.'/browse.php?Frameworks/' . $file); break; case 'css': $GLOBALS['xoTheme']->addStylesheet( XOOPS URL.$file ); break; } } } } } 此函式的作用在於驗證佈景檔是否有載入相同的字串檔案 使用陣列將檔案引入 陣列 必須放在 header.php  下方 以下為範例: 來個簡易範例(後台):

include 'header.php';
include '../include/function.php';
include once XOOPS ROOT PATH . '/include/cp header.php';
include once XOOPS ROOT PATH . '/include/cp functions.php';
$tpl include['js'] = array('jquery/jquery.js','jquery/plugins/jquery-ui.js');
xoops cp header();
tpl file include($tpl include);
xoops cp footer();

前台:

include once '../../mainfile.php';
include once 'include/function.php';
$tpl include['js'] = array('jquery/jquery.js','jquery/plugins/jquery-ui.js');
include once XOOPS ROOT PATH.'/header.php';
tpl file include($tpl include);
include once XOOPS ROOT PATH.'/footer.php'; 文章發布於:http://mesak.wablog.info/blog/read.php?450


 作者 Mesak 於 2010年08月02日 17:50:00 (8123 次閱讀)

新增了 一個 function tag convert encode($text,$encode,$form) 主要目的是為了 搜尋引擎字元編碼轉換 以百度為範例 "baidu" => array( "title" => "百度", "link" => "http://www.baidu.com/s?wd=%s", "function" => "tag convert encode", "encode" => "GBK" ), 檔案目標為 /modules/tag/language/語言/main.php encode 為 該搜尋引擎的編碼,GB2312 因為有漏字的問題,所以建議都使用 GBK 如果是非 UTF-8 的語言,必須加入一個 from 的變數 "google" => array( "title" => "Google", "link" => "http://www.google.com/search?q=%s", "function" => "tag convert encode", "encode" => "UTF-8" ,"form"=>"GBK"), 以防轉換錯誤

閱讀全文... | 952字符 (含本文)

作者 Mesak 於 2010年07月20日 18:03:31 (16445 次閱讀)

當我們使用 CKEditor (CK編輯器,原FCKEditor),輸入ENTER 符號發布文章或新聞的時候 編輯內會產生 換行 符號 \n 等 特殊字元,遇到一些 模組會將這些 符號轉換為 <br /> 編輯文章時,輸入一個ENTER 換行就會看到下列的原始碼 <p>
    Hallo World!</p> 這時候修改 CK編輯器的設定檔就可以解決這個問題
打開下列目錄檔案 \class\xoopseditor\ckeditor\ckeditor\config.js 你可以看到下列的內容: CKEDITOR.editorConfig = function( config )
{
    // Define changes to default configuration here. For example:
    // config.language = 'fr';
    // config.uiColor = '#AADC6E';
}; 在尾端加上下列的 原始碼 CKEDITOR.on( 'instanceReady', function( ev ){
     with (ev.editor.dataProcessor.writer) {
       setRules("p",  {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("h1", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("h2", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("h3", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("h4", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("h5", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("div", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("table", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("tr", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("td", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("iframe", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("li", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("ul", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("ol", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
     }
}) 接著存檔,以後由CK編輯器產生的原始碼,就會不斷行的送出資料庫 indent  (是否加入空白 TAB)
breakBeforeOpen (插入起始原始碼標籤之前是否斷行)
breakAfterOpen (插入起始原始碼標籤之後是否斷行)
breakBeforeClose (插入結尾原始碼標籤之前是否斷行)
breakAfterClose (插入結尾原始碼標籤之後是否斷行)   接著是斷行部分,很多人不喜歡 使用 <P> 標籤作為一個段落的存在 預設的 斷行 ENTER 是 P 標籤 SHIFT+ENTER 是 <br /> 標籤 如果需要將預設的模式修改過來,只要在 editorConfig 內加入下列原始碼 config.enterMode = CKEDITOR.ENTER BR;
config.shiftEnterMode = CKEDITOR.ENTER P; 這樣預設的換行標籤就是 <br/> SHIFT+ENTER 就換成 <P> 標籤


作者 Mesak 於 2010年07月20日 00:20:00 (6992 次閱讀)

forcely disable/turn off debug mode
當後台設定了 除錯模式之後,如何在 php 強制將 除錯模式關閉呢? $xoopsLogger->activated = false; //CLOSE Debug Mode 這樣在輸出 json,或是 ajax request 都可以避免 除錯模式啟動而造成 Javascript 錯亂
此段程式碼在 include/common.php Line 135 被使用



The XOOPS organisation ("XOOPS") is committed to protecting the privacy of users of the XOOPS.org sites.
The website used Ver.2.4.5 POWERED BY XOOPS PROJECT.