code: public function onPreviewUrlCreate(PreviewUrlCreateEvent $event): void
      {
          if (!$this->framework->isInitialized() || 'news' !== $event->getKey()) {
              return;
          }
  
          $request = $this->requestStack->getCurrentRequest();
  
          if (null === $request) {
              throw new \RuntimeException('The request stack did not contain a request');
          }
  
          // Return on the news archive list page
          if ('tl_news' === $request->query->get('table') && !$request->query->has('act')) {
              return;
          }
  
          if (null === ($newsModel = $this->getNewsModel($this->getId($event, $request)))) {
              return;
          }
  
          $event->setQuery('news='.$newsModel->id);
      }
docs: Adds the news ID to the front end preview URL.
  
  @throws \RuntimeException