从现有节点的字段获取数据,并将该字段的默认值设置为不同内容类型

我不知道自己是否处于正确的轨道,但我试图让我的网站的用户创建在我的网站上有自己的页面版本。 基本上我想将我们的文档作为一个起点,他们只是在这个过程中添加细节并为自己创建一个新页面。 我有一个'书'内容类型,我已经改变CCK和'客户端编辑'内容类型,使用nodereferencefromURL小部件将自己链接到书籍节点。从现有节点的字段获取数据,并将该字段的默认值设置为不同内容类型

我所说的简单版本是我的书页上有一个链接,它使用客户端编辑内容类型创建节点。我想在客户端编辑内容类型上放置一些字段,它们从链接的书页中获取一些字段的值。

我敢肯定,我错过了一些东西,因为我以前会想有人会尝试过这一点,但我甚至无法找到关于如何去做这件事的提示。

如果我目前的想法是错误的,我真正需要的是一个正确的方向。 当前的想法是,我使用php脚本来获取新节点添加屏幕上字段的默认值,该字段可以从我从中链接的书中拖动字段的值。 我在考虑这种情况,因为在cck管理字段中有一个用于字段默认值的选项,可以让您输入一个php值来为您的字段返回默认值。

我在正确的轨道上,还是已经有一个模块或过程,做我在说什么,我太笨了,找不到它。

回答:

我最终使用规则将用户和克隆节点的信息保存到隐藏字段中。 当您创建该类型的内容时,将原始节点ID保存到字段中,除非URL以Clone结尾。这意味着当您创建克隆时,原始节点ID将保留在该字段中。 这使得使用视图参数变得非常容易,该参数使用节点ID使克隆在用户访问原始页面时沿着原始边显示。 第二个规则技巧是仅在保存克隆内容时计算从用户配置文件保存“商店名称”的字段。 这意味着存储信息的克隆上有一个隐藏字段,因此我可以使用其他视图参数将视图限制为只有在他们的配置文件中具有相同商店名称的人员。 我对PHP不太好,但我设法找到一个代码片段(记不清位置),它返回当前登录用户的存储名称作为参数。

global $user;

profile_load_profile($user);

return $user->profile_store_name;

回答:

这听起来有点奇怪,你的客户端编辑是从原始节点差异还是只是复制数据?

我可能会做一个更简单的方法,只是有书籍节点,并根据编辑它(启用content_permissions模块)不同的领域消失。这样您就可以使用node clone模块创建用户副本。

您将需要make a module来包含您的自定义php代码。

以上是 从现有节点的字段获取数据,并将该字段的默认值设置为不同内容类型 的全部内容, 来源链接: utcz.com/qa/262213.html

回到顶部