从数组打印图像


Printing image from array

首先,我对PHP非常陌生。

我使用Conrete5,我有一个新的模板到图像滑块。这就是我使用的:

http://codepen.io/altitudems/pen/KdgGLG

有一个占位符图像,我试图通过抓取块本身的第一个图像集来替换它。这是我的视图文件从实际块:

<?php defined('C5_EXECUTE') or die("Access Denied.");
$navigationTypeText = ($navigationType == 0) ? 'arrows' : 'pages';
$c = Page::getCurrentPage();
if ($c->isEditMode()) { ?>
    <div class="ccm-edit-mode-disabled-item" style="width: <?php echo $width; ?>; height: <?php echo $height; ?>">
        <div style="padding: 40px 0px 40px 0px"><?php echo t('Image Slider disabled in edit mode.')?></div>
    </div>
<?php  } else { ?>
<script>
$(document).ready(function(){
    $(function () {
        $("#ccm-image-slider-<?php echo $bID ?>").responsiveSlides({
            prevText: "",   // String: Text for the "previous" button
            nextText: "",
            <?php if($navigationType == 0) { ?>
            nav:true
            <?php } else { ?>
            pager: true
            <?php } ?>
        });
    });
});
</script>
<div class="ccm-image-slider-container ccm-block-image-slider-<?php echo $navigationTypeText?>" >
    <div class="ccm-image-slider">
        <div class="ccm-image-slider-inner">
        <?php if(count($rows) > 0) { ?>
        <ul class="rslides" id="ccm-image-slider-<?php echo $bID ?>">
            <?php foreach($rows as $row) { ?>
                <li>
                <?php if($row['linkURL']) { ?>
                    <a href="<?php echo $row['linkURL'] ?>" class="mega-link-overlay"></a>
                <?php } ?>
                <?php
                $f = File::getByID($row['fID'])
                ?>
                <?php if(is_object($f)) {
                    $tag = Core::make('html/image', array($f, false))->getTag();
                    if($row['title']) {
                        $tag->alt($row['title']);
                    }else{
                        $tag->alt("slide"); 
                    }
                    print $tag; ?>
                <?php } ?>
                <div class="ccm-image-slider-text">
                    <?php if($row['title']) { ?>
                        <h1 class="ccm-image-slider-title"><?php echo $row['title'] ?></h1>
                    <?php } ?>
                    <?php echo $row['description'] ?>
                </div>
                </li>
            <?php } ?>
        </ul>
        <?php } else { ?>
        <div class="ccm-image-slider-placeholder">
            <p><?php echo t('No Slides Entered.'); ?></p>
        </div>
        <?php } ?>
        </div>
    </div>
</div>
<?php } ?>

这是我的画廊视图文件:

<a class="gallery-launcher" href="#gallery1"> // Location of the image
   <div class="overlay">
        <div class="overlay-content">
            <button class="btn btn-default">Open Gallery</button>
        </div>
    </div>
</a>
<div class="gallery inactive" id="gallery1">
    <div class="gallery-item">
        //Fullscreen gallery code here
    </div>
</div>

Where它说//图像的位置是我需要有第一个图像集的位置。我不知道该放什么进去?

您可以使用concrete5文件帮助器来获取文件路径,例如:

$f = File::getByID($row['fID']);
$relpath = $f->getRelativePath();

总的来说,我建议你多读一些具体的文件函数来了解它是如何工作的: