123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- <?php
- namespace Drupal\materio_expo\Controller;
- use Drupal\Core\Controller\ControllerBase;
- use Symfony\Component\HttpFoundation\RedirectResponse;
- use Drupal\Core\Url;
- /**
- * Class QRController.
- */
- class QRController extends ControllerBase {
- /**
- * Hello.
- *
- * @return string
- * Return Hello string.
- */
- public function getfile($ref) {
- //? https://drupal.stackexchange.com/questions/255216/how-to-do-a-redirectresponse-with-a-destination-query-parameter
- //* get node from ref
- $entity_storage = \Drupal::entityTypeManager()->getStorage('node');
- $query = $entity_storage->getQuery()
- ->condition('type', 'materiau')
- ->condition('status', '1')
- ->condition('field_reference', $ref);
- $results = $query->execute();
- $nid = array_pop($results);
- $node = $entity_storage->load($nid);
- //* get file from node
- $file = $node->get('field_fiche_expo')->referencedEntities()[0];
- //* redirect to file
- return new RedirectResponse($file->createFileUrl());
- // return [
- // '#type' => 'markup',
- // '#markup' => $this->t("Implement method: getfile with parameter(s): $ref"),
- // ];
- }
- }
|