Questions tagged «nodes»

Drupal站点上最基本的内容形式是节点。


2
如何从排除预告视图中设置“查看内容”的规则事件?
我设置了一个规则,该规则将在“查看内容”事件期间执行,并且该操作是为了显示系统消息。 当我查看该节点时,它起作用并被触发。但是,当我转到主页时,它被触发了N次,其中N是/ node页面上的节点数。 如何阻止这种情况的发生?该规则仅适用于内容完整视图,不包括预告视图。
9 rules  nodes 

3
将我的项目需求转换为Drupal的概念
我正在为一个客户建立一个网站,我认为Drupal是最好的选择,因为它给了我很多选择。但是,如此众多的选择使我的工作更加困难。让我向您描述问题: 客户正在销售一种特定的产品,比如说录像机。每个VCR都是由特定品牌(例如Sony,LG等)生产的。每个品牌还具有彼此相似的VCR类别。因此,当我们要描述产品(VCR)时,我们基本上必须提供以下信息: 品牌(例如Sony)类别(例如FGX;注意这不是唯一的。另一家公司可能具有相同的类别名称)型号(例如4523x) 我还希望用户能够订阅特定的品牌和类别,以便如果Sony发布新的VCR,他们将被自动通知(或者Sony发布特定类别的新VCR)。 当要将所有这些转换为Drupal概念时,我根本做不到。原因是我可以使用多种不同的路径,但我不知道哪一条是正确的。例如: 类别是内容类型还是分类术语? 品牌是内容类型还是分类术语? 该模型显然是一种内容类型,但是我如何将其与分类术语唯一地关联(如果上述问题的答案是“分类术语”)? 在任何情况下我都需要使用哪些模块?我已经检查了“关系”模块,似乎它可能包含一些我需要的功能(以及“规则”模块,尤其是通知部分)。 PS:如果您对资源(博客文章,文章,书籍,视频等)有任何好的建议,可以解释如何将生活要求分解为Drupal概念,如果您能分享的话,我会很喜欢。

3
如何使用node_save创建节点?
我正在尝试将当前的html网站迁移到Drupal。我必须迁移超过80,000页,因此我想创建一个模块,而不是坐在计算机前50年。我能够创建一个从每个目录提取html的脚本,现在我到达了需要创建节点的路障。我正在尝试使用创建一个新节点node_save(),但是当执行node_save时,PDOException我尝试的所有内容都会出现错误。我传入$node,这是一个数组,然后将其转换为对象。 PDOException:在field_sql_storage_field_storage_write()中(/srv/www/htdocs/modules/field/modules/field_sql_storage/field_sql_storage.module的第424行)。 这是我们当前创建节点的方式,但是会产生错误: $node= array( 'uid' => $user->uid, 'name' => $user->name, 'type' => 'page', 'language' => LANGUAGE_NONE, 'title' => $html['title'], 'status' => 1, 'promote' => 0, 'sticky' => 0, 'created' => (int)REQUEST_TIME, 'revision' => 0, 'comment' => '1', 'menu' => array( 'enabled' => 0, 'mlid' => 0, 'module' => 'menu', …
9 7  nodes  migration 

9
删除13000个节点
我在Drupal 7站点中有大约13000个要删除的节点。我尝试过“ 视图批量操作”模块一次删除500个节点,但是超时。我一次只能删除50个节点。 如何一次删除50个以上的节点?
9 views  nodes 

3
在自定义模块中通过文件字段以编程方式创建内容类型
我正在编写一个自定义模块,这是我之前做过的,但这是我第一次尝试使用字段创建内容类型。我实现了hook_node_info,内容类型显示在admin_menu下拉列表中的内容类型列表中,但是当我浏览到admin/structure/types它时未列出。 我实现了hook_install,并获取了在另一个SO问题上发现的一些代码。我已经将代码打印出一些调试信息到我的错误日志中,并且看起来一切正常,但是当我浏览到“结构内容类型”时,它没有显示我添加的字段。 这是钩子: function mymod_node_info() { return array( 'mymod_content' => array( 'name' => t('My Mod'), 'base' => 'mymod_content', 'description' => t('A Description'), ) ); } function mymod_install() { error_log('mymod_install'); $types = node_type_get_types(); if ( ! field_info_field('field_mymod_myfile') ) { $field = array( 'field_name' => 'field_mymod_myfile', 'type' => 'file', ); $created_field = …

3
如何加快drupal的node_save()函数?
node_save()的效率低下给我带来很多麻烦。但是节点可以解决我的问题吗?最终,这就是我想要找出的。 我创建了一个具有100,000次迭代的循环。我创建了使节点对象有效并正确保存的最低要求。这是节点保存代码: $node = new stdClass(); $node->type = "test_page"; node_object_prepare($node); $node->uid = 1; $node->title = $node_title; $node->status = 1; $node->language = LANGUAGE_NONE; if($node = node_submit($node)){ node_save($node); } 结果如下: 保存了100,000个节点,每个节点都使用node_save()。完成了5196.22秒。那就是19节省一秒钟。 至少可以说,这是不可接受的,特别是当此人每秒获得大约1200个单独的插入查询,并且这个人每秒获得25,000个插入时。 那么,这是怎么回事?瓶颈在哪里?是否与node_save()函数一起使用以及如何设计? 可能是我的硬件吗?我的硬件是一台开发服务器,除我之外没有人可以使用-Intel双核,3Ghz,Ubuntu 12.04和16 gig的ram。 在循环运行时,我的资源使用情况是:MySQL 27%CPU,6M RAM;PHP 22%CPU 2M RAM。 我的mysql配置由percona向导完成。 Mysql说,如果我的CPU使用率低于70%,我的问题就是磁盘绑定。当然,我只有WD Caviar 7200 RPM磨粉机,但我希望它每秒能获得超过19次插入! 不久之前,我写过关于每天节省30,000个节点的文章。但是,需要明确的是,该节点与任何外力无关。纯粹是了解如何提高对node_save()的调用速度的基准。 实际上,我需要使用node_save每分钟将30,000个项目放入数据库。如果不选择保存节点,我想知道我是否可以编写自己的drupal api函数“ node_batch_save()”或利用mysql的INSERT查询功能进行批量插入的功能。关于如何处理此问题的想法?
9 7  performance  nodes 

1
为什么正文字段的语言不会保存为与节点相同的语言?
我遇到了一个问题,用户正在创建新节点并输入正文,但是将节点设置为该语言的“语言中立”。但是,当它保存节点时,正文字段的语言将设置为英语。为什么会这样呢?是什么原因造成的? 在此站点上,我们同时启用和配置了英语和法语。该站点是运行i18n的D7。 这类似于节点编辑页面中的“空正文”,不同之处在于,我想知道该字段将如何获得与节点最初不同的语言。

5
一次将字段添加到多种内容类型?
我想一次将字段添加到多种内容类型,并同时为所有这些内容类型进行配置。 原因是我有很多内容类型,所有这些内容类型都需要通过将每个新字段添加到其中来进行更新。对于所有内容类型,此字段的配置也将相同。我必须重复此添加过程,然后配置要将该字段添加到的每个内容类型的字段,一段时间后,它变得很繁琐。 有什么方法可以对许多内容类型进行大量新字段的添加/配置?
9 7  entities  nodes 

3
在以编程方式创建节点时,如何以编程方式添加图像?
我正在编写脚本以编程方式添加节点,但我不知道添加/附加图像的正确方法。实际上,我对Drupal不太熟悉。 以下是我在使用print_r现有图像时发现的(样本)图像对象$node: field_image:数组([und] =>数组([0] =>数组([fxid] => 3089 [alt] => [title] => [width] => 95 [height] => 126 [uid] = > 249 [文件名] => helloworld.jpg [uri] => public://helloworld.jpg [filemime] =>图片/ jpeg [文件大小] => 3694 [状态] => 1 [时间戳] => 1346748001 [类型] =>图片[media_title] => Array()[media_description] => Array()[field_tags] => Array()[field_license] => Array([und] => …
9 nodes  media 

1
如何停止Drupal来设置创建节点的更改日期?
这是关于创建自定义迁移脚本的第二个问题。 我仅创建新节点,并且不关心更新。 码: $node = new stdClass(); $node->type = 'migrate'; $node->title = $content['title']; $node->language = LANGUAGE_NONE; $node->created = (int) date('U',strtotime($content['created'])); $modified = $content['modified']; if (! empty($modified) && $modified != '0000-00-00 00:00:00') { $modified = (int) date('U',strtotime($modified)); } else { $modified = 0; } $node->changed = $modified; node_object_prepare($node); #some lines later …
9 7  nodes 

1
如何在节点之间构建“多对多”关系
我想要2个节点类型,卖方和产品。每个卖方可以有许多产品,每个产品可以有许多卖方。同样,卖方与产品之间的关系也需要包含一个价格。 建立关系的最佳方法是什么,从而使列出卖方在其页面上出售的所有产品(带有价格)的清单容易列出,以及列出卖方在其页面上出售产品的所有卖方(带有价格)的清单变得容易?
9 nodes 

3
如何为一篇文章分配多个作者姓名?
在Drupal 7中是否有任何方法可以提及特定文章的两个或更多作者姓名? 我需要为一篇文章添加两个作者姓名。 我试图在Author文本框中添加两个作者姓名,并用逗号将它们分开,但这不允许我这样做。 有任何模块或其他方式可以做到这一点吗?
9 7  nodes 

2
节点上的“更改”
mysql> select nid, uid, created, changed from node; +-----+-----+------------+------------+ | nid | uid | created | changed | +-----+-----+------------+------------+ | 1 | 8 | 1336040166 | 1336046390 | +-----+-----+------------+------------+ 我想在node表上有一个“更改为”列,就像我们有一个“创建者”(uid字段)一样。这将跟踪谁对该节点进行了最后更改。我知道这可以从node_revision表派生,但这取决于为我感兴趣的内容类型启用的修订。 那么,什么是最好的方法呢?为什么Drupal核心默认不提供此功能?我认为“更改”是CMS应该附加到内容的非常标准的信息。
9 7  users  nodes 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.