首頁>Web>source

我試圖以程式設計方式設置几个具有多个顯示的View的Views渲染語言.我發現手動執行操作容易出錯。

use Drupal\views\Views;

$view = Views::getView('ap_country');
print_r($view->display_id);
$view->setHandlerOption('page_2', 'argument', 'nid', 'admin_label', 'Foo');
$view->save();

我正在尝試實現上述目標,然後匯出View.但是,渲染語言似乎並不是處理程式。

這背後的原因是当前所有视圖都設置為当前的介面語言,而我想切換到內容語言。

最新回復
  • 6月前
    1 #

    是的,這不是處理程式設置.直接在顯示器中配置。

    要以程式設計方式更新View,請使用View物件的storage屬性(通過對註釋中讨論的config物件的引用),並获取顯示的引用(主顯示為 default ):

    $view = \Drupal\views\Views::getView('myview');
    $storage = $view->storage;
    $display = &$storage->getDisplay('page_2');
    $display['display_options']['rendering_language'] = '***LANGUAGE_language_content***';
    $storage->save();
    

  • drupal:您如何在Drupal中添加/編輯代碼?
  • 在apache_request_headers()中發佈没有$ _SERVER ['HTTP_AUTHORIzATION']和没有'authorization'值的授權標頭