player display first part of cartel
This commit is contained in:
@@ -14,7 +14,8 @@ function edlp_ajax_node_theme($existing, $type, $theme, $path) {
|
||||
'edlp_ajax_node' => array(
|
||||
'file' => 'includes/edlp_ajax_node.inc',
|
||||
'variables' => array(
|
||||
'node' => NULL
|
||||
'node_object' => NULL,
|
||||
'view_mode' => 'default'
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -7,17 +7,19 @@
|
||||
# @License: GPL-V3
|
||||
|
||||
edlp_ajax_node.node:
|
||||
path: '/edlp/node/{nid}'
|
||||
path: '/edlp/node/{nid}/{viewmode}'
|
||||
defaults:
|
||||
_controller: '\Drupal\edlp_ajax_node\Controller\EdlpAjaxNodeController::node'
|
||||
_title: 'Node'
|
||||
viewmode: 'default'
|
||||
requirements:
|
||||
_permission: 'access content'
|
||||
|
||||
edlp_ajax_node.ajaxnode:
|
||||
path: '/edlp/node/{nid}/ajax'
|
||||
path: '/edlp/node/{nid}/ajax/{viewmode}'
|
||||
defaults:
|
||||
_controller: '\Drupal\edlp_ajax_node\Controller\EdlpAjaxNodeController::nodejson'
|
||||
_title: 'AjaxNode'
|
||||
viewmode: 'default'
|
||||
requirements:
|
||||
_permission: 'access content'
|
||||
|
||||
@@ -8,5 +8,5 @@ function template_preprocess_edlp_ajax_node(&$vars){
|
||||
@see https://www.drupal8.ovh/index.php/en/tutoriels/339/render-a-node-or-an-entity
|
||||
*/
|
||||
$view_builder = \Drupal::entityTypeManager()->getViewBuilder('node');
|
||||
$vars['node'] = $view_builder->view($vars['node'], 'default');
|
||||
$vars['node'] = $view_builder->view($vars['node_object'], $vars['view_mode']);
|
||||
}
|
||||
|
||||
@@ -14,11 +14,18 @@ class EdlpAjaxNodeController extends ControllerBase {
|
||||
|
||||
private function toRenderable(){
|
||||
$this->query();
|
||||
// dpm($this->future_nodes);
|
||||
return array(
|
||||
"#theme"=>'edlp_ajax_node',
|
||||
'#node' => $this->node,
|
||||
);
|
||||
|
||||
if($this->node){
|
||||
return array(
|
||||
"#theme"=>'edlp_ajax_node',
|
||||
'#node_object' => $this->node,
|
||||
'#view_mode' => $this->viewmode,
|
||||
);
|
||||
}else{
|
||||
return array(
|
||||
'#markup'=>'404! Node '.$this->nid." not found!"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -26,8 +33,9 @@ class EdlpAjaxNodeController extends ControllerBase {
|
||||
*
|
||||
* @return renderable array
|
||||
*/
|
||||
public function node($nid) {
|
||||
public function node($nid, $viewmode) {
|
||||
$this->nid = $nid;
|
||||
$this->viewmode = $viewmode;
|
||||
return $this->toRenderable();
|
||||
}
|
||||
|
||||
@@ -36,16 +44,18 @@ class EdlpAjaxNodeController extends ControllerBase {
|
||||
*
|
||||
* @return json
|
||||
*/
|
||||
public function nodejson($nid) {
|
||||
public function nodejson($nid, $viewmode) {
|
||||
$this->nid = $nid;
|
||||
$response = new JsonResponse();
|
||||
$this->viewmode = $viewmode;
|
||||
$renderable = $this->toRenderable();
|
||||
$rendered = render($renderable);
|
||||
|
||||
$response = new JsonResponse();
|
||||
$response->setData([
|
||||
'test'=>'hello edlp ajax node',
|
||||
'test' => 'hello edlp ajax node',
|
||||
'nid' => $this->nid,
|
||||
'rendered'=> $rendered
|
||||
'view_mode' => $this->viewmode,
|
||||
'rendered'=> $rendered,
|
||||
]);
|
||||
|
||||
return $response;
|
||||
|
||||
@@ -379,13 +379,14 @@
|
||||
var event = {
|
||||
'type':'corpus-cliked-on-node',
|
||||
'target_node':{
|
||||
'nid':_node_hover_id,
|
||||
'id':_node_hover_id,
|
||||
'nid':_nodes[_node_hover_id].nid,
|
||||
'audio_url':_nodes[_node_hover_id].son_url
|
||||
},
|
||||
};
|
||||
_$canvas.trigger(event);
|
||||
}else{
|
||||
console.log('corpus : click on map');
|
||||
// console.log('corpus : click on map');
|
||||
_$canvas.trigger('corpus-cliked-on-map');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -379,13 +379,14 @@
|
||||
var event = {
|
||||
'type':'corpus-cliked-on-node',
|
||||
'target_node':{
|
||||
'nid':_node_hover_id,
|
||||
'id':_node_hover_id,
|
||||
'nid':_nodes[_node_hover_id].nid,
|
||||
'audio_url':_nodes[_node_hover_id].son_url
|
||||
},
|
||||
};
|
||||
_$canvas.trigger(event);
|
||||
}else{
|
||||
console.log('corpus : click on map');
|
||||
// console.log('corpus : click on map');
|
||||
_$canvas.trigger('corpus-cliked-on-map');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,11 +41,9 @@ class CorpusController extends ControllerBase {
|
||||
|
||||
$nodes_data = [];
|
||||
foreach ($nodes as $node) {
|
||||
|
||||
// this is ideal but it's too heavy to load : the whole ajax json goes from 138kb to 1.23Md (even optimized)...
|
||||
// this would be ideal but it's too heavy to load : the whole ajax json goes from 138kb to 1.23Md (even optimized)...
|
||||
// $node_builder = $view_builder->view($node, 'popup');
|
||||
|
||||
|
||||
$entrees = [];
|
||||
foreach ($node->get('field_entrees')->getValue() as $key => $term) {
|
||||
$entrees[] = $term['target_id'];
|
||||
|
||||
Reference in New Issue
Block a user