Linking inside a website

The way I would probably do it (however, not knowing the structure of your page, this is a bit guesswork)

  • blueprint:
fields:
  teasers:
    label: Teasers
    type: structure
    fields:
      image:
        label: Image
        type: select
        options: images
      text:
        label: Text
        type: text
      link:
        label: Link
        type: select
        options: query
        query:
          page: teasers
          fetch: children
          text: '{{title}}'
          value: '{{uid}}'

-template (not tested) and without all the ifs …

$teasers = $page->teasers()->toStructure();

foreach($teasers as $teaser) : 

  $linkPage = page('teaser')->children()->find($teaser->link());
  $image = $teaser->image();
  $text = $teaser->text();
?>
<a href="<?php echo $linkPage->url()"><image src="<?php echo $image->url() ?>"></a>
// and then do sth. with the text as well ...
<?php endforeach ?>