将可编辑的内容保存到变量中,然后打印

Save editables to variable and then print

我目前正在探索 pimcore 及其可编辑内容。所以我想要一个动态列表,其中包含可在后端编辑的社交媒体图标。我创建了一个片段。

所以我正在使用这样的可编辑块:

<?php

while ($this->block("social-media")->loop()) {

  if($this->editmode) {

    print $this->link('social-media-link');
    print $this->image('social-media-icon', [ 'width' => 30, 'height' => 30 ]);

  }
  else {

    print "<a href=\"{$this->link('social-media-link')->getHref()}\">{$this->image('social-media-icon', [ 'width' => 30, 'height' => 30 ])}</a>";

  }

}

这按预期工作。但现在我想摆脱重复。为了实现这一点,我尝试了这个:

<?php

while ($this->block("social-media")->loop()) {

  $objCurrentSocialMediaLink = $this->link('social-media-link');
  $objCurrentSocialMediaIcon = $this->image('social-media-icon', [ 'width' => 30, 'height' => 30 ]);

  if($this->editmode) {

    print $objCurrentSocialMediaLink;
    print $objtCurrentSocialMediaIcon;

  }
  else {

    print "<a href=\"{$objCurrentSocialMediaLink->getHref()}\">{$objCurrentSocialMediaIcon}</a>";

  }

}

但这不起作用。后端仅呈现 link 可编辑。有谁知道为什么以及我做错了什么?

您没有打印正确的变量。去掉这个变量中的"t":

print $objtCurrentSocialMediaIcon;

应该是:

print $objCurrentSocialMediaIcon;