Joomla 模板常用技巧函式收集(不斷更新)

2021-06-04 02:00:10 字數 2436 閱讀 3320

0、關於 jdoc 的使用:

其中 type 屬性為 jdoc 元素中要渲染的內容型別,type屬性值可以是下列的值:

head —— 填充當前頁標籤裡的 style script meta 等元素;

message —— 用於在模板顯示系統資訊或報錯資訊,發布模板時可以刪掉;

component —— 用於頁面主體內容輸出;

installation —— 僅用於模板安裝,渲染安裝步驟中的乙個頁面主內容,通常不需要;

以上內容型別通常在乙個頁面應當僅出現一次,並且通常沒有其他屬性,如 name style 等屬性;

module —— 渲染由 name 屬性指定的單一模組,模組必須是發布的並且當前使用者有權訪問,另外還可以有 layout 及 controller 屬性;

modules —— 渲染由模板 xml 檔案中指定的位置,需要留意的是乙個位置可以放置多個模組,這點非常重要,能為你節約很多時間和成本;

style —— 是對於 module 及 modules 型別的乙個可選屬性,這一屬性指定了模組被渲染風格,如果沒指定將預設為 none 屬性,所有屬性在 /templates/system/html/modules.php 中有宣告,包括有 table horz xhtml rounded outline 當然模板設計者可以在你自己的模板同樣位置對其進行自定義,否則建議使用 xhtml 型別。

1、判斷當前頁面是否為首頁:getactive(); getdefault();

$menu = & jsite::getmenu();

if( $menu->getactive() == $menu->getdefault() )else

解釋一下:這裡使用 getactive 函式獲取當前頁面並與預設頁面對比;

2、根據位置是否存在內容設定一些寬度:countmodules();

if ($this->countmodules('west and east') == 0) 

if ($this->countmodules('west or east') == 1)

if ($this->countmodules('west and east') == 1)

解釋一下:通常多欄頁面在沒有其中一欄或多欄內容的情況下需要將其他欄目做寬度調整,這裡使用 countmodules() 函式判斷是否存在乙個或多個位置。

示例中展示的是三欄情況下,假使三欄分別為三個 west core east 位置,其中 west 和 east 為左右兩個位置內容為可選,而 core 位置為主體位置內容為必須,通過判斷得出四種情況即:無 west 欄、無 east 欄、僅 core 欄及同時具有三欄。示例**第一行為僅有 core 欄即 west 和 east 都不存在的情況時賦 corewidth 為 100% 寬度;第二行為僅有 west 或 east 欄其中之一時賦 corewidth 為 75% 寬度;第三行為同時存在三欄時附 corewidth 為 50% 寬度。取得了 corewidth 值之後就可以在 html **中引用了,例如:

當然,這裡省略了 css 樣式,你需要在 css 裡面定義 west 和 east 的寬度等引數。

3、根據位置是否有內容控制輸出:countmodules();

countmodules('west or core or east') == 1 ) : ?>

解釋一下:這種使用其實是對上面第 2 點的乙個補充,通常在輸出位置的時候我們喜歡使用乙個 div 包裹輸出的位置內容用來做一些效果,但如果該位置沒有輸出,或是乙個大通欄裡面包括的三個位置都沒有輸出,那麼這個通欄就沒有必要輸出了,使用 countmodules 同時判斷 west core east 位置是否有任意乙個位置有內容輸出,如果有任一位置有輸出便輸出

中間的內容。

4、方便的檢視當前模板位置情況:index.php?tp=1

示例**:** url 路徑 + index.php?tp=1 (如 等)

5、直接在模板呼叫模組:

require_once (jpath_base .ds. 'modules' .ds. 'mod_latestnews' .ds. 'helper.php');

$params = new jparameter(」);

$params -> set('catid',5);

$params -> set('count',3);

$list = modlatestnewshelper::getlist($params);

require(jmodulehelper::getlayoutpath('mod_latestnews'));

6、……

Excel常用函式(技巧)

if and 邏輯1,邏輯2 真值 假值 if 邏輯,真值 假值 sumifs 求和的區域,條件區域1,指定的求和條件1,條件區域2,指定的求和條件2 countifs 條件區域1,指定條件1,條件區域2,指定條件2 vlookup 要找誰,在哪兒找,返回第幾列的內容,精確找還是近似找 lookup...

技巧 C C 常用庫函式

一 map相關 1 map定義時新增引數 less greater 可以設定map內排序為公升降序 2 map.find val 返回迭代器,失敗是迭代器指標指向map.end 3 map.erase it map.erase it1,it2 map.erase key 二 algorithm庫 1...

MySQL 常用函式 使用技巧

一 常用函式 1.if a.語法 if expr1,expr2,expr3 如果表示式expr1成立 真 返回結果expr2,否則返回結果expr3 2.ifnull a.語法 ifnull expr1,expr2 如果expr1的值不為null,則返回expr1,否則返回expr2 3.case ...