🧩 Objetivo siguiente: leer los nombres de los álbumes desde Coppermine

¿Qué necesitamos?

  1. Crear la conexión a la base de datos Coppermine.

  2. Leer los nombres de los álbumes desde la tabla cpg_albums.

  3. Mostrar los nombres en la página /coppermine/test.


✅ Paso 1: Conexión a la base de datos Coppermine

Edita tu archivo settings.php y al final (antes del último ?> si existe), añade:

php
$databases['coppermine']['default'] = [ 'database' => 'nombre_de_la_base_de_datos_coppermine', 'username' => 'usuario_mysql', 'password' => 'clave_mysql', 'host' => '127.0.0.1', 'port' => 3306, 'driver' => 'mysql', 'prefix' => '', ];

🔁 Reemplaza los valores con los reales.

Esto son mis datos en la MV:

$databases['coppermine']['default'] = array (

  'database' => 'coppermine',

  'username' => 'adminer',

  'password' => 'Wmwd.2020',

  'prefix' => 'cpg16x_',

  'host' => 'localhost',

  'port' => '3306',

  'isolation_level' => 'READ COMMITTED',

  'namespace' => 'Drupal\\mysql\\Driver\\Database\\mysql',

  'driver' => 'mysql',

);


✅ Paso 2: Modifica AlbumController.php para leer los álbumes

Reemplaza el contenido del método test() en AlbumController.php por esto:

php
use Drupal\Core\Database\Database; public function test() { try { // Conexión a la base de datos "coppermine" $connection = Database::getConnection('default', 'coppermine'); $query = $connection->select('albums', 'a') ->fields('a', ['aid', 'title']) ->range(0, 10); $results = $query->execute()->fetchAll(); $items = []; foreach ($results as $row) { $items[] = $row->title; } return [ '#theme' => 'item_list', '#items' => $items, '#title' => $this->t('Álbumes desde Coppermine'), ]; } catch (\Exception $e) { return [ '#markup' => $this->t('Error al conectar con Coppermine: @msg', ['@msg' => $e->getMessage()]), ]; } }

✅ Paso 3: Limpia la caché

bash
drush cr

✅ Paso 4: Visita la ruta

Accede a:

arduino
http://localhost/coppermine/test

🔍 Deberías ver una lista con los títulos de los álbumes desde la tabla albums.


Última modificación: venres, 4 de abril de 2025, 9:59 AM