Home Drupal Confusión de plantilla de rama y foreach de Drupal 8

Confusión de plantilla de rama y foreach de Drupal 8

0
2
Confusión de plantilla de rama y foreach de Drupal 8

Contenido del Post

Buenos dias,

Estoy realmente confundido con el sistema de plantillas twig en Drupal 8 y cómo incorporar datos en él.

Construí un módulo que trae datos a un bloque. La cosa es que no puedo mostrarlos normalmente. Solo obtengo el último campo.

El build() del módulo

public function build() { $config = $this->getConfiguration(); $getResult = $this->DatabaseResult(); print_r($obtenerResultado); $datos = []; foreach ($obtenerResultado como $clave) { $datos = [
‘fid’ => $key[‘fid’]’nombre de archivo’ => $ clave[‘filename’]
]; } return array ( ‘#theme’ => ‘mymodule’, ‘#title’ => $data[‘fid’]’#nombre de archivo’ => $datos[‘filename’] // Viene del siguiente formulario); }

El resultado del print_r de arriba

El código custom.module

función mymodule_theme($existente, $tipo, $tema, $ruta) { return array(‘mymodule’ => array( ‘variables’ => array( ‘title’ => []’nombre de archivo’ => [], ‘nombre’ => nulo ), ‘plantilla’ => ‘bloque–holabloque’ ) ); }

Y el patrón de ramitas

{{ título_prefijo }} {{ título_sufijo }}

Resultado

{% para único en el título %}

{{único}} {{nombre de archivo}}

{% endfor%}

Gracias de antemano

No sé si arreglar esto solucionará el problema, pero no puede doler.

foreach ($obtenerResultado como $clave) { $datos = [
‘fid’ => $key[‘fid’]’nombre de archivo’ => $ clave[‘filename’]
]; }

Cada vez que se repite, el valor de $data se convertirá en una matriz diferente. Entonces, cualquiera que sea el último «cada» es lo que serán los $datos. Apuesto a que eso no es lo que quieres, de lo contrario sería un «pop».

Creo que lo que quieres está ahí.

foreach ($obtenerResultado como $clave) { $datos[] = [
‘fid’ => $key[‘fid’]’nombre de archivo’ => $ clave[‘filename’]
]; }

1 Me gusta

No, proporciona fid de índice indefinido y nombre de archivo de índice indefinido en filas.

‘fid’ => $clave[‘fid’]’nombre de archivo’ => $ clave[‘filename’]

También cambié la ramita a

Resultado

{% para único en el título %}

{{volcado (único)}}

{% endfor%}

y recibo

matriz (1) { [«fid»]=> cadena (3) «184» } matriz (1) { [«fid»]=> cadena (3) «191» } matriz (1) { [«fid»]=> cadena(1) «6» } matriz(1) { [«fid»]=> cadena (3) «625» } matriz (1) { [«fid»]=> cadena(3) «189» }

Sabía que tenía algo que ver con la ramita. El nuevo código con errores que estoy tan cerca.

public function build() { $config = $this->getConfiguration(); $getResult = $this->DatabaseResult(); $datos = $obtenerResultado; return array ( ‘#theme’ => ‘mymodule’, ‘#title’ => $data ); } public function DatabaseResult() { // Devolver un objeto DrupalCoreDatabaseConnection. $conexión = DrupalCoreDatabaseDatabase::getConnection(‘predeterminado’, ‘migrar’); $resultado = $conexión->consulta(‘ SELECT fld.fid, fld.filename, fld.filemime, fld.filesize, fld.status, fld.timestamp FROM {files} fld ‘); if ($resultado) { foreach ($resultado como $registro) { $campos[] =[
‘fid’ => $record->fid,
‘filename’ => $record->filename
]; } } devuelve $campos; }

Y la ramita que trae todo normalmente

Resultado

{% para único en el título %}

Título{{único[‘fid’]}}
Nombre de archivo {{único[‘filename’]}}

{% endfor%}

El módulo personalizado

function hola_mundo_tema($existente, $tipo, $tema, $ruta) { return arreglo(‘mimódulo’ => arreglo( ‘variables’ => arreglo( ‘nombre’ => nulo ), ‘plantilla’ => ‘bloque– holabloque’ ) ); }

Y sobre todo el Resultado que viene normalmente
Error de usuario: «fid» es una clave de matriz de representación no válida en DrupalCoreRenderElement::children() (línea 97 de core/lib/Drupal/Core/Render/Element.php).

Error de usuario: «nombre de archivo» es una clave de matriz de representación no válida en DrupalCoreRenderElement::children() (línea 97 de core/lib/Drupal/Core/Render/Element.php).

Granja

4 de febrero de 2019 a las 23:57

5

Este tema se cerró automáticamente 91 días después de la última respuesta. Ya no se permiten nuevas respuestas.

NO COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here

GDPR Cookie Consent with Real Cookie Banner

Contenido del Post

Index