Comprobación de conexión a la base de datos de Coppermine
🧩 Objetivo siguiente: leer los nombres de los álbumes desde Coppermine
¿Qué necesitamos?
-
Crear la conexión a la base de datos Coppermine.
-
Leer los nombres de los álbumes desde la tabla
cpg_albums. -
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:
phpuse 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é
bashdrush cr
✅ Paso 4: Visita la ruta
Accede a:
arduinohttp://localhost/coppermine/test
🔍 Deberías ver una lista con los títulos de los álbumes desde la tabla albums.