问题描述
我有一个 nodeAliasPath
输入字段可以改变其他字段:
inputFields: [
{
key: 'nodeAliasPath',type: 'string',required: true,label: 'Node alias path',helpText: 'The path of the page to update. For example,"/Blogs/Food"',altersDynamicFields: true
},...
我的其他(动态)字段使用 getPageData
调用 nodeAliasPath
以生成 z.request
inputFields: [
async function (z,bundle) {
const pageData = await getPageData(z,bundle,bundle.inputData.nodeAliasPath,bundle.inputData.culture);
if(!pageData) throw new z.errors.HaltedError(`Page not found. Please check the Node Alias Path and Culture.` );
else return await getPageColumnsField(z,pageData["NodeClassID"],pageData);
},...
updatePage
函数使用 {{bundle.inputData.nodeAliasPath}}
获取提供的输入:
const options = {
url: `{{bundle.authData.website}}/rest/content/currentsite`
+ `/${data.DocumentCulture}/document{{bundle.inputData.nodeAliasPath}}`,
但是,当请求运行时,我可以在 Zapier 平台的监控选项卡中看到执行的请求实际上是 /document{{114648603__NodeAliasPath}}。只有当我尝试从上一步中提取值时才会发生这种情况 - 如果我输入某个值,请求看起来很完美并且运行良好。
如何解析 URL 中的卷曲以从另一个步骤获取字段的实际值?当前步骤中的动态字段依赖于该请求的结果。
解决方法
我们在 this GitHub issue 中讨论过这个问题,但要点是在 Zap 编辑器中,自定义字段不能依赖于映射字段。