【问题标题】:How do I get a galleries cover image in modx revolution?如何在 modx 革命中获得画廊封面图片?
【发布时间】:2014-07-10 02:18:42
【问题描述】:

如何在 modx 革命中获得画廊封面图片?

目前我通过 ID 调用画廊并将其限制为一张图片 ~ 但是,这并不能保证该图片将是封面图片。

这就是我目前正在做的事情。

[[!Gallery? &album=`[[!+tv.vehiclegallery]]` &toPlaceholder=`gallery` &thumbTpl=`homepageVehicleThumbTpl` &limit=`1`]]

[[+gallery]]

【问题讨论】:

  • galAlbum 模型中有cover_filename 字段。它拥有专辑的封面
  • 是的 - 但是没有办法用 galAlbum 标签指定你想要的 ~which~ 专辑:(
  • 我一般不用这些sn-ps。如果我需要一个 id 专辑,我必须编写 getlist 处理器,这样很容易解决你的问题。
  • 同意,sn-ps 的用途似乎非常有限。 :( 不同的问题,同一个站点,我必须在一个页面上输出画廊图像两次〜唯一的方法是调用画廊两次。也必须为此编写一些自定义的东西。
  • I have to output the gallery images twice on one page ~ the only way to do that is to call Gallery twice 如果每次都相同,您可以使用 cacheManager 作为输出。类似this

标签: php gallery modx modx-revolution


【解决方案1】:

答案更简单!我看了好几个小时都想不通,然后它击中了我。每张专辑的封面总是被称为“cover.jpg”。 并且会以对应的 Album-ID 存放在 assets 文件夹中。

路径摘要:

assets/gallery/[album-id]/cover.jpg

例如:

assets/gallery/1/cover.jpg

因此,只要您有专辑 ID,您就可以获得封面。

获取专辑 ID

如果您想要专辑 ID 有一种方法:

  1. 使用输入类型galleryalbumlist 创建一个名为gallery_album 的模板变量。
  2. 让您的首选模板可以访问它。
  3. 使用该模板打开或创建资源。 模板变量将在模板变量选项卡中作为下拉菜单包含 所有之前创建的相册。
  4. 从下拉列表中选择专辑
  5. 当你知道在模板中调用[[+gallery_album]]时,它会输出Album-ID

代码示例:

链接到 modx extra 图库:

https://docs.modx.com/current/en/extras/gallery/gallery/index

【讨论】:

    【解决方案2】:

    我会在 sn-p 中这样做:

        <?php
    
        //getgalleryAlbumCover
    
        $output = '';
    
        $sql = "select * from modx_gallery_albums mga where mga.id = $id";
    
        $album = $modx->query($sql);
    
        if (!is_object($album)) {return;}
    
            $data = $album->fetch(PDO::FETCH_ASSOC);
    
            // just in case ;)
            $modx->toPlaceholders($data);
    
            $output = $data['cover_filename'];
    
        return $output;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-26
      • 1970-01-01
      • 1970-01-01
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多