Получить эскиз со страницы? (Бетон 5.7.4.2)

Как опубликовано здесь https://www.concrete5.org/index.php?cID=751287 Я хочу получить миниатюру страницы «старым» способом.

Прежде чем я смог использовать приведенный ниже код, который включал помощник изображения.

<div class="image-link">
    <a <?php if ($target != '') { ?> target="<?php echo $target ?>" <?php } ?> href="<?php echo $url ?>">
        <?php
        $ts = $page->getBlocks('Thumbnail Image');
        if (is_object($ts[0])) {
            $tsb = $ts[0]->getInstance();
            $thumb = $tsb->getFileObject();
            if ($thumb) {
                $ih->outputThumbnail($thumb, 170, 80, $title);
            }
        }
        ?>
    </a>
</div>

Из этого раздела подстраницы:

<div id="thumbnail">
    <?php
    if ($c->isEditMode()) {
        print '<br><br>';
        $a = new Area('Thumbnail Image');
        $a->display($c);
    }
    ?>
</div>

Однако теперь все изменилось, и новая система использует атрибуты страницы для эскизов. Поскольку сайт уже настроен «старым» способом, я хочу снова получить миниатюру таким же образом.

Любая помощь приветствуется.


person FortuneCookie101    schedule 30.06.2015    source источник


Ответы (2)


У меня есть атрибут страницы "миниатюра", установленный через композитор, и вот как я получаю его в шаблоне страницы:

 <?php
     $thumbnail = $c->getAttribute('thumbnail');
     if($thumbnail) {
         $img = Core::make('html/image', array($thumbnail));
         $tag = $img->getTag();
         print $tag;
     }
 ?>
person tofraser    schedule 30.06.2015
comment
Я не хочу использовать атрибуты из-за того, как сайт уже настроен. Мне нужно получить блок области миниатюр вверху подстраницы. - person FortuneCookie101; 30.06.2015

Я откопал свою экспериментальную шапку и починил ее.

<div class="image-link">
                <a <?php if ($target != '') { ?> target="<?php echo $target ?>" <?php } ?> href="<?php echo $url ?>">
                    <?php
                    foreach ($blocks as $block) {
                        if ($block->getBlockTypeHandle() == "image" && $block->getAreaHandle() == "Thumbnail Image") {
                            if (is_object($block)) {
                                $tsb = $block->getInstance();
                                $thumb = $tsb->getFileObject();
                                if ($thumb) {
                                    $ih->outputThumbnail($thumb, 170, 80);
                                }
                            }
                        }
                    }
                    ?>
                </a>
            </div>
person FortuneCookie101    schedule 30.06.2015