Schon mal ein Dankschön.
mein Template sieht aktuell so aus:
PHP-Code:
<?php
$css = [
$this->class,
'related-wrapper',
'mt-5',
'mb-3',
'block'
];
use Contao\PageModel;
?>
<div class="<?php echo implode(' ', $css) ?>"<?php echo $this->cssID ?>>
<?php if ($this->headline): ?>
<h4 class="col-12 mb-3"><?= $this->headline ?></h4>
<?php endif ?>
<div class="container">
<div class="row">
<?php foreach ($this->links as $link): ?>
<?php $relatedimage = $this->getImageObject($link->image); ?>
<?php
if (preg_match('/^{{link_url::([\d]+}})/', $link->url, $matches)) {
$page = PageModel::findById((int) $matches[1]);
};
?>
<div class="related col-12 col-md-6">
<div class="related-inner">
<a href="<?= $link->url ?>" title="<?= $link->headline ?>">
<div class="image-wrapper co l-3">
<?php if ($relatedimage = $this->getImageObject($link->image, $link->size)): ?>
<?php $this->insert('picture_default', $relatedimage->picture); ?>
<?php endif ?>
</div>
<div class="label-wrapper ">
<p><?= $link->headline ?></p>
</div>
</a>
</div>
</div>
<?php endforeach ?>
</div>
</div>
</div>
<?php //dump($matches) ?>
angepasst habe ich:
... $link->url, $matches)) - $link anstatt $this, da in einer foreach-Schleife
... ('/^{{link_url:[\d]+}})/' - hier bin ich davon ausgegangen, dass die öffnenden geschweiften Klammern auf einen Inserttag hinweisen und darum fehlten die '}}'. Ich hoffe, ich habe diese korrekt gesetzt.
dump($matches) bringt dann doch nur ein leeres array: ^[]
Wenn ich's richtig interpretiere, sollten in diesem array die möglichen Variablen aus der ausgewählten Seite stehen, oder?
Wo muss angepasst werden?
Lesezeichen