[Drupal] 利用 field_view_field() 產出 field_collection 的render array
field_view_field($entity_type, $entity, $field_name, $display = array(), $langcode = NULL)
本主要用來產出某個欄位的render array,之後可以再利用drupal_render()來產出HTML
程式碼如下:
field_view_field($entity_type, $entity, $field_name, $display = array(), $langcode = NULL)
本主要用來產出某個欄位的render array,之後可以再利用drupal_render()來產出HTML
程式碼如下:
碰到這個問題,主要是在利用#ajax實作 dependt field時,原本一切正常,然後突然莫名其妙功能失效,因為過程中多做了一堆js程式,還以為是後來寫的造成衝突,結果浪費了半天生命,突然心血來潮查syslog才發現,原來問題不在js,而是在php啊...T_T
Google了好久,終於找到問題出在image_button,因為我照著Form API 利用image_button取代了原本的submit,
而因為#ajax 還是利用submit來觸發取回form item的作業,所以改回原本的submit就恢復正常了。
但總覺得如果這樣的話,image_button也太雞肋了,繼續Google,試了老半天,最後在這裡看到一個-2分的答案,把image_button的 #value 移除,因為沒招了死馬當活馬醫,結果竟然成功了!!
雖然解決問題了,但實在莫名其妙啊!!
以下示範把所有 class=myitems 的div做分組,兩兩為一組
var lis = $(".myitem");
for(var i = 0; i <= lis.length; i+=2) {
if( i == lis.length){
lis.slice(i).wrapAll("
"); }else{ lis.slice(i, i+2).wrapAll("
"); } }
因為偶爾還是會用到,做個筆記,參考自這裡
主要是會用到window.location這個物件,個人比較常用的是以下兩個
var pathname = window.location.pathname; // Returns path only,如 /abc/def.html var url = window.location.href; // Returns full URL,如 http://yosia.net:80/abc/def.html
其他可以這樣替換:
CSS的:hover語法,再Android手機中,可以自動轉為touch效果。但這在iOS的觸控行動裝置(ipad,iphone)中會失效,此時只能依靠javascript註冊event來處理。語法如下:
$('selector').bind('touchstart touchend', function(e) {
e.preventDefault(); //如果是連結的話,需要先移除連結的預設功能,避免一touch就轉頁了
$(this).toggleClass('ishover');//為被touch的物件增減一個ishover的class
});
本文參考自這裡
原理是在iframe外面增加一個container,利用這個container來偵測區域尺寸
HTML內容如下:
<div class="iframe-rwd">
<iframe ...></iframe>
</div>
CSS內容如下:
.iframe-rwd {
position: relative;
padding-bottom: 65.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.iframe-rwd iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
利用inline-block的等高特性,搭配:before 或 :after 來取得container的高度
可適用於未知高度的內容div
<div class="container"> <div class="content">內容</div> </div>
.container{
width:400px;
height:400px;
text-align:center;
border:1px solid #000;
}
.container:before{
height:100%;
display:inline-block;
vertical-align:middle;
content:'';
}
.content{
display:inline-block;
vertical-align:middle;
padding:10px;
background-color:#aaa;
}
有時候我們會以<a>作為按鈕來觸發一些動作,但因為在沒有設定href的狀況下,會將頁面帶向頁首(page top),要避免這個情況,就可以利用以下的語法來把這個瀏覽器預設動作取消掉:
$('a').click(function(e){
e.preventDefault();
});
以下幾個事件是javascript中用來判斷css動畫結束的事件。每個事件分別作用於各主要瀏覽器引擎。
webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend
可以參考一下animate.css範例中的寫法: