【问题标题】:Where does k2 component store its images in the database?k2 组件将其图像存储在数据库中的什么位置?
【发布时间】:2012-06-13 15:59:06
【问题描述】:

我想检索/查询 joomla k2 组件存储的图像(在图像选项卡下)。

【问题讨论】:

    标签: joomla components joomla-k2


    【解决方案1】:

    要显示 K2 项目图像,您可以使用此

    echo "media/k2/items/cache/".md5("Image".K2 ITEM ID HERE)."_XL.jpg";
    

    【讨论】:

    • 不是每个人都是程序员或了解数据库和 phpMyAdmin。你应该/可以解释这条线可以放在哪里。
    【解决方案2】:

    根本不存储在数据库中。

    他们在实际的 K2 项目 ID 上使用 md5 哈希,这就是他们如何重命名图像并将其保存在文件夹 media/k2/items/cache/ 中。

    在K2项被拉起的任何地方,他们使用JFile::exists(用于检查路径集中是否存在文件)和路径

    URL-ROOT."media/k2/items/cache/".md5("image" . K2 ITEM ID HERE)."_XL.jpg"
    

    如果文件在那里,它会显示图像。

    此外,_XL.jpg 将根据图像设置在页面上显示的大小而变化,无论是缩略图、大号还是 XL 号等。

    我知道这不是你想听到的,但他们就是这样做的 :) 希望对人有所帮助!

    【讨论】:

    • 谢谢 Caleb,实际上我正在查看此文件 modules/mod_k2_content/helper.php 并显示图像的显示方式,您肯定已经为我澄清了。干杯
    • 这个解决方案有点错误。 md5 函数需要在 K2 项目 ID 之前有“图像”,就像 surya 的答案一样。所以应该是:URL-ROOT."media/k2/items/cache/".md5('Image'.K2 ITEM ID HERE)."_XL.jpg"
    【解决方案3】:

    虽然您得到了答案,但分享信息可能会有所帮助:

    如果在 K2 模板(Html 覆盖)中工作,则可以使用以下内容访问通过 K2 图像选项卡添加的图像。

    $this->item->image
    

    $this->item->imageXLarge (size you want)
    

    你会得到相对网址:/media/k2/items/cache/29642a1d30cebf98734fb424b2b1316b_L.jpg

    【讨论】:

      【解决方案4】:

      您可以在 media/k2/items/src/ 目录中找到原件。另外,@David 是正确的,需要 "Image" 作为 k2 项目 ID 的前缀。

      【讨论】:

        猜你喜欢
        • 2011-09-07
        • 2011-05-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-01
        • 1970-01-01
        • 2021-01-17
        • 2010-09-22
        相关资源
        最近更新 更多