MODX - 访问从 ResourceList 获取的电视资源并使用 getImageList 显示

Posted

技术标签:

【中文标题】MODX - 访问从 ResourceList 获取的电视资源并使用 getImageList 显示【英文标题】:MODX - Access TV's of resource fetched from a ResourceList and display with getImageList 【发布时间】:2017-06-05 15:05:54 【问题描述】:

我正在尝试将模板变量从资源输入输出到 MIGX 模板变量,该变量引用输入类型为“资源列表”的模板变量。这可能吗?

我在 MODX 中有一个模板变量 (TV),其输入类型为“资源列表”,这台 TV 称为“product_offer”。这个资源列表有一个 where 子句,声明它只能包含具有特定模板 ID 的产品。

然后我有另一台输入类型为 MIGX 的电视。我使用这台电视允许我的一个资源选择模板变量中的资源列表。 MIGX TV 的表单选项卡 JSON 如下所示。这台电视被称为“offersList”。

[
"caption":"Product", "fields": [
    "field":"Product","caption":"Product","inputTV":"product_offer"
]
] 

在我的一个块中,我使用 getImageList(migx 附带的 sn-p)来显示我输入到“offers_list”中的资源列表。代码如下:

[[getImageList? 
    &tvname=`offersList`
    &tpl=`StoreCategoryTpl-New`
]]

“StoreCategoryTpl-New”块使用此特定 ID 的模板变量访问资源并显示其中的一些。块的缩减 sn-p 如下。

<div class="product-container">        
        <img src="[[+tv.productImage:phpthumbof=`w=150&h=150&zc=1`]]"  />
        <h3>[[+pagetitle]]</h3>
</div>

站点中的其他任何地方我都使用这个块来输出 getResources 调用的结果,getResources 当然可以输出模板变量。

我可以从我在“offersList”MIGX TV 中选择的资源中访问模板变量并将它们输出到块中吗?我在论坛上或通过谷歌搜索找不到任何材料。

如果不是,那么唯一的解决方案是使用 getResources 执行此操作,并且可能制作一个新电视,允许用户输入多个资源 ID 作为值,然后将其输入到 getResources 调用中(仅获取这些资源) ?

【问题讨论】:

【参考方案1】:

我只能猜测,但您是否尝试过设置输入电视类型,就像这里提到的那样? https://docs.modx.com/extras/revo/migx/migx.backend-usage

我会尝试设置电视类型。

无论如何,在输出块中,您正在尝试访问电视,就像之前使用 pdoToolsgetResources 一样。由于您必须设置“includeTVs”,我想这不是从数据库中读取 TVs 值的默认行为。

您尝试使用 getResourceField 读取它们应该可以工作,也可以使用 tv.productImage。

最后一件事:您正在使用 phpthumbof。试试pthumb吧,它是新版本,你可以像以前的phpthumbof一样使用它。

【讨论】:

以上是关于MODX - 访问从 ResourceList 获取的电视资源并使用 getImageList 显示的主要内容,如果未能解决你的问题,请参考以下文章

ModX/PHP:在连接到数据库的根目录中有我自己的文件吗?

从Modx演进的特定文档中获取所有TV/模板变量

在子文件夹中安装modx

PHP 从特定文档中获取Modx Evolution的所有TV /模板变量

import modx 和 from modx import * 有啥区别? [复制]

Modx Evo / Debian 9:无法打开文件(/assets/cache//sitePublishing.idx.php)