getViewBuilder('node');
// $term_view_builder = \Drupal::entityTypeManager()->getViewBuilder('taxonomy_term');
// dpm($vars);
// render the promoted_statics and promoted_prods
$promoteds = ['statics', 'prods'];
foreach ($promoteds as $index => $p) {
$vars['nodes_' . $p] = array();
if(isset($vars['promoted_' . $p])){
foreach($vars['promoted_' . $p] as $node){
if($node->hasField('field_view_mode')){
switch($node->get('field_view_mode')->value){
case "1":
$vm = "image_2_columns";
break;
case "2":
$vm = "image_1_columns";
break;
case "3":
$vm = "text_1_column";
break;
};
}else{
$vm = 'default';
}
$vars['nodes_' . $p][] = array(
'vm'=>$vm,
'build'=>$node_view_builder->view($node, $vm)
);
}
}
}
// render the last fil column
// $vars["last_fil"] = array(
// "#type" => "container",
// // 'fil' => $node_view_builder->view($vars['last_fil_node'], 'teaser'),
// 'title'=> array("#markup" => "
Dernier Fil
"),
// 'fil' => $vars['last_fil_node'],
// // 'links' => array(
// // '#theme' => 'item_list',
// // '#items' => array(
// // 'link_all' => array(
// // '#title' => t("Voir tous les fils de l'EP."),
// // '#type' => 'link',
// // '#url' => Url::fromRoute('edlp_fils.fils', [], array(
// // 'attributes' => array(
// // 'class' => ['fils-link', 'ajax-link']
// // )
// // ))
// // ),
// // // TODO: link posdcast fils
// // 'link_podcast' => array(
// // '#title' => t("S'abonner au podcast des fils."),
// // '#type' => 'link',
// // '#url' => Url::fromRoute('', [], array(
// // 'attributes' => array(
// // 'class' => ['fils-link']
// // )
// // ))
// // )
// // )
// // )
// );
// render the lasts documents of collection as list
if(isset($vars['lastdocs_items'])){
$lastdocs_url = Url::fromRoute('edlp_corpus.lastdocs');
$lastdocs = array(
'#type'=>"container",
'title'=>array(
'#prefix'=> '',
'#title' => t("Recently uploaded"),
'#suffix' => '
',
'#type' => 'link',
'#url' => $lastdocs_url,
'#options'=>array(
'attributes' => array(
'data-drupal-link-system-path' => $lastdocs_url->getInternalPath(),
'class' => array('ajax-link'),
)
)
),
'list'=> array(
'#theme' => 'item_list',
'#items' => [],
),
'seeall'=>array(
'#type' => 'link',
'#prefix'=> '',
'#url' => $lastdocs_url,
'#options'=>array(
'attributes' => array(
'data-drupal-link-system-path' => $lastdocs_url->getInternalPath(),
'class' => array('ajax-link'),
)
)
),
);
foreach($vars['lastdocs_items'] as $node){
$lastdocs['list']['#items'][] = $node_view_builder->view($node, 'search_index');
}
$vars['lastdocs'] = \Drupal::service('renderer')->render($lastdocs);
}
// render the next events of agenda as list
if(isset($vars['agenda_items'])){
$agenda_url = Url::fromRoute('edlp_agenda.agenda');
$agenda = array(
'#type'=>"container",
'title'=>array(
'#prefix'=> '',
'#title' => t("Agenda"),
'#suffix' => '
',
'#type' => 'link',
'#url' => $agenda_url,
'#options'=>array(
'attributes' => array(
'data-drupal-link-system-path' => $agenda_url->getInternalPath(),
'class' => array('ajax-link'),
)
)
),
'list'=> array(
'#theme' => 'item_list',
'#items' => [],
),
'seeall'=>array(
'#type' => 'link',
'#prefix'=> '',
'#url' => $agenda_url,
'#options'=>array(
'attributes' => array(
'data-drupal-link-system-path' => $agenda_url->getInternalPath(),
'class' => array('ajax-link'),
)
)
),
);
foreach($vars['agenda_items'] as $node){
$agenda['list']['#items'][] = $node_view_builder->view($node, 'teaser');
}
$vars['agenda'] = \Drupal::service('renderer')->render($agenda);
}
if(isset($vars['collection_link'])){
$collection = array(
'#type'=>"container",
'title'=>array(
'#prefix'=> '',
'#title' => t("Collection"),
'#suffix' => '
',
'#type' => 'link',
'#url' => $vars['collection_link']['url'],
'#options'=>array(
'attributes' => array(
'data-drupal-link-system-path' => $vars['collection_link']['internal_path'],
'class' => array('ajax-link'),
)
)
)
);
$vars['collection_link_rendered'] = \Drupal::service('renderer')->render($collection);
}
if(isset($vars['production_link'])){
$production = array(
'#type'=>"container",
'title'=>array(
'#prefix'=> '',
'#title' => t("Productions"),
'#suffix' => '
',
'#type' => 'link',
'#url' => $vars['production_link']['url'],
'#options'=>array(
'attributes' => array(
'data-drupal-link-system-path' => $vars['production_link']['internal_path'],
'class' => array('ajax-link'),
)
)
)
);
$vars['production_link_rendered'] = \Drupal::service('renderer')->render($production);
}
if(isset($vars['agenda_link'])){
$agenda = array(
'#type'=>"container",
'title'=>array(
'#prefix'=> '',
'#title' => t("Agenda"),
'#suffix' => '
',
'#type' => 'link',
'#url' => $vars['agenda_link']['url'],
'#options'=>array(
'attributes' => array(
'data-drupal-link-system-path' => $vars['agenda_link']['internal_path'],
'class' => array('ajax-link'),
)
)
)
);
$vars['agenda_link_rendered'] = \Drupal::service('renderer')->render($agenda);
}
}