一些Drupal的How to細節處理

實例字段的一些用法,官網API如下:

https://www.drupal.org/docs/7/api/entity-api/entity-metadata-wrappers

如何刪除字段中包含多值的某一項時的操作:

unset($wrapper->field_foobar[$delta]);
$wrapper->save();

To find the delta, you can iterate over the collection and look for the node id:

爲了找到其中的詳項,可以通過ID來查找集合中的數據:

foreach($wrapper->field_foobar as $delta => $item)  {
  if ($item->nid->value() == $my_id) {
    unset($wrapper->field_foobar[$delta]);
    $wrapper->save();
    break;
  }
}

實例 :

$ppc_delete=entity_metadata_wrapper('node',$ppc_father_data);
foreach($ppc_delete->field_comber as $delta=>$item){
        if($item->value()==$node->nid){
	unset($ppc_delete->field_comber[$delta]);
	$ppc_delete->save();
	break;
	}										
}

DB_select 中的一些表達式的用法:

$query->addExpression("DATE_FORMAT(fdate.field_warehousereturndate_value,'%Y-%m')",'returndate');
$query->addExpression('sum(fequ.field_warehouseequalnumber_value)','equal');
$query->where("DATE_FORMAT(fdate.field_warehousereturndate_value,'%Y-%m')=:date",array(':date'=>$date));

如何在Views_get_view中設置上下文篩選,有幾個就設置幾個。

$arg=array($printdate,trim($storageno));
$views=views_get_view("warehouseshow");
$views->set_display("block_1");
$views->set_arguments($arg);
$views->is_cacheable=FALSE;
$views->execute(); 
$result=$views->result;

如何在Views中設置distinct,有二種方法,一是在Query setting 中設置,二是在Aggregation 中設置,具體請參考網頁:

https://www.ostraining.com/blog/drupal/duplicate-views-results/



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章