[Drupal 7] 取得所有角色資訊
要取得所有角色資訊,只要利用user_roles()這個函數,一行程式碼就可以解決了,
會回傳所有角色的key-value陣列(角色rid=>角色名稱name)
$role_arr=user_roles(); print_r($role_arr);
要取得所有角色資訊,只要利用user_roles()這個函數,一行程式碼就可以解決了,
會回傳所有角色的key-value陣列(角色rid=>角色名稱name)
$role_arr=user_roles(); print_r($role_arr);
有時為了讓數字更具有可讀性,尤其是需要呈現比較大的數字時,我們會需要加上千分位號,基本上這個做一個函數來做這件事情比較快,函數如下:
function number_format(n) { n += ""; var arr = n.split("."); var re = /(\d{1,3})(?=(\d{3})+$)/g; return arr[0].replace(re,"$1,") + (arr.length == 2 ? "."+arr[1] : ""); }
jQuery 提供了兩個函數,可用來回傳目前捲軸位置,也可以用來設定捲軸位置。這兩個函數分別是:.scrollTop()及.scrollLeft()。顧名思義,前者是用在直向捲軸,後者則是橫向捲軸。
可以用於視窗(window),也可以用於任何一個塊級(block)元素,如<div>、<p>...等。
回傳值及設定值均為整數。
用法如下:
$(window).scrollTop(300); //設定視窗捲軸位置 var sc_pos=$(window).scrollTop(); //取得捲軸位置
而要取得即時的捲軸位置,則要透過 .scroll() ,用法如下:
Ajax讓網路的世界就走入了web 2.0的時代,不過還是有時候有些瀏覽器不支援javascript,雖然有時候是刻意被關掉的,那麼要怎麼讓我們的ajax按鈕不受影響呢?
答案是 ─ 用連結來製作按鈕。
當瀏覽器不支援javascript時,就透過連結到ajax本來要取用資料的頁面,或者也可以讓連結到提示訪客該換瀏覽器開啟javascript支援了
方法如下:
<a href="obj.html">按鈕</a>
$('a').click(function(e){ //加上以下這一行,當瀏覽器支援javascript時可以避免跳頁,即我們原先需要的ajax功能 e.preventDefault(); ... });
要利用程式來建立內容類型,首要先建立好新內容類型的資料陣列,再透過node_type_save()這個函式來儲存這個內容類型。作法如下:
jQuery 提供了滿便捷的選擇器來選擇DOM元素,只要用 $(".test"),就可以把所有 class="test"的元素一次取出。
不過javascript也有類似的選擇器函數,querySelector 以及querySeloectorAll。用法範例及比較如下:
要在頁面或區塊中嵌入一個views的view,有兩個作法。
簡單的應用,可以直接利用 views_embed_view() 來達成,語法範例如下:
//views_embed_view('views_machine_name','display_id'[, $contextual_args]); print views_embed_view('blog_posts','block_1', $node->nid);
但如果需要嵌入包含exposed_filter的views,又不希望頁面中出現exposed filter的表單時,可能就必須用views_get_vew(),方法如下:
Javascript提供了一些常見的數學函數,包含亂數(random)、無條件進位(ceil)、無條件捨去(floor)、指數(power)、平方根(sqrt)、絕對值(abs)...詳細函數可以在這裡查詢,以下僅介紹部分常用函數
Math.random(),回傳值範圍為 0 <= x < 1
Math.round(x),回傳 x 四捨五入後的整數值。
Math.floor(x),回傳 x 無條件捨去後的整數值。
Math.ceil(x),回傳 x 無條件進位後的整數值。
Math.abs(x),回傳 x 的絕對值。
Math.pow(x,n),回傳 x 的 n 次方。
Math.pow(x),回傳 x 的平方根。
直接以範例說明,本範例會建立一個內容類型為「article」的node
在Javascript中 有一個專門用來四捨五入的函數 Math.round(),不過這個函數有個缺點,就是只能四捨五入到整數,如果要指定小數點位數來四捨五入的話,就必須自己寫函數囉。
自製的函數參考如下:
function floatRound(num, pos){ return (Math.round( num * Math.pow(10,pos) ) / Math.pow(10,pos)).toFixed(pos); }
原理說明:假設要四捨五入到小數點後n位,就先將目標數字乘上10的n次方後,四捨五入到整數,然後再除回來並指定位數