martin-kozianka / contao-metafields
为contao添加额外的元字段
2.0.1
2017-08-11 19:53 UTC
Requires
- contao-community-alliance/composer-plugin: ~2.4 || ~3.0
- contao/core-bundle: ~3.5 || ~4.4
README
使用此扩展,可以添加额外的元数据字段到文件。这些字段可以通过后端的一个菜单项轻松定义。这些额外的元数据可以在以下内容元素中输出和使用:
- 图片 [ce_image]
- 画廊 [gallery_default 或自定义画廊模板]
- 文本 [ce_text]
- 手风琴(单个元素) [ce_accordion]
此外,元数据也将被集成到新闻模块的缩略图模板中。元数据的用法与内容元素图片的例子类似。
画廊内容元素
要么像在模板中看到的那样,通过元数据数组访问,其中数据的关键值是图片元素的 singleSRC 属性,要么使用辅助函数 MetafieldsHelper::embedData(),在模板开头进行以下调用:
<?php Metafields\MetafieldsHelper::embedData($this->body, $this->metadata); ?>
然后,可以在循环中简单地直接从循环变量 $col 读取元数据
<?php var_dump($col->metadata); ?>
具有扩展元数据的模板
<ul> <?php foreach ($this->body as $class=>$row): ?> <?php foreach ($row as $col): ?> <?php if ($col->addImage): ?> <li class="<?php echo $class; ?> <?php echo $col->class; ?>"> <figure class="image_container" ...> <?php if ($col->href): ?> <a href="<?php echo $col->href; ?>" ...><img src="<?php echo $col->src; ?>" ...></a> <?php else: ?> <img src="<?php echo $col->src; ?>" ...> <?php endif; ?> <figcaption class="src"><?php echo 'src: '.$col->src; ?></figcaption> <figcaption class="singleSRC"><?php echo 'singleSRC: '.$col->singleSRC; ?></figcaption> <div class="metaData"> <figcaption class="author"><?php echo $this->metadata[$col->singleSRC][author]; ?></figcaption> <figcaption class="city"><?php echo $this->metadata[$col->singleSRC][city]; ?></figcaption> <figcaption class="quote"><?php echo $this->metadata[$col->singleSRC][quote]; ?></figcaption> <figcaption class="isbn"><?php echo $this->metadata[$col->singleSRC]['isbn']; ?></figcaption> </div> <?php if ($col->caption): ?> <figcaption class="caption" ...><?php echo $col->caption; ?></figcaption> <?php endif; ?> </figure> </li> <?php endif; ?> <?php endforeach; ?> <?php endforeach; ?> </ul>
图片内容元素
对于内容元素 文本 和 手风琴(单个元素),元数据的输出也适用。
具有扩展元数据的模板
<div ...> <figure class="image_container" ...> ... </figure> <?php var_dump($this->metadata); ?> </div>