Drupal

Drupal开发人员和管理员的问答


4
如何获取网站的基本URL
我的网站位于http://drupal8.local/。如何获得该URL 的drupal8.local部分? Url::fromRoute('<'current'>')或base_path()返回URL的路径parth;例如,对于http://drupal8.local/a/b/c/d/e/f,/a/b/c/d/e/f'当我只需要获取时,它们将返回' 'drupal8.local'。 如何获得URL的那一部分?
34 8  uri 


6
SA-CORE-2014-005(Drupal 7.32)修补程序可以预防哪种攻击?
读了关于https://www.drupal.org/node/2357241,并在技术细节https://www.drupal.org/SA-CORE-2014-005,以及实际的补丁,它很简单: diff --git a/includes/database/database.inc b/includes/database/database.inc index f78098b..01b6385 100644 --- a/includes/database/database.inc +++ b/includes/database/database.inc @@ -736,7 +736,7 @@ abstract class DatabaseConnection extends PDO { // to expand it out into a comma-delimited set of placeholders. foreach (array_filter($args, 'is_array') as $key => $data) { $new_keys = array(); - foreach ($data as $i => …
33 security 

7
使用Node.js主题工作流程时,如何防止Drupal引发分段错误?
症状: 某些drush命令失败。一些Drupal页面是空白的。 失败的drush命令报告“段错误:11” 。Apache日志(例如MAMP中的php-error.log)也显示相同的错误。 背景: 如果您使用gulp或grunt的工作流程(例如,编译主题的SASS等),则可能会遇到以下问题:在将Drupal页面用作空白(WSD)的情况下,drush命令会像Apache一样抛出分段错误11。 可能的原因 这是因为来自您grunt或gulp工作流环境中的 文件node_modules被Drupal本身错误地注册drush cache-clear all为例如的副产品。这些.js文件有很多,而Drupal无法处理它们……这可能是PCRE regex的根本原因,这在其他地方是众所周知的。反正... 并非总是如此 目前尚不清楚某些模块(例如Browser Sync)是否会导致此错误,因为node.js样式(即gulp或grunt)工作流能否在这种方式失败之前完美运行。
33 theming  drush 


3
如何在视图中对元素进行分组?
我有8条:第1条(游戏),第2条(本地新闻),第3条(世界新闻),第4条(世界新闻),第5条(游戏),第6条,第7条,第8条。 我认为,这些文章按“新闻”,“游戏”和“其他”分组。将世界新闻和本地新闻归为一个类别,将没有该类别的所有内容移至“其他”。我不想为此视图创建新的词汇表。我试图使用“分组依据”字段来完成此操作,但是我不知道如何使用该方法来完成此操作。
33 7  views 


6
如何更新模块的配置?
我正在Drupal 8中构建一个自定义模块。它包含一些YAML配置文件。 在开发过程中,我需要更改并添加到配置中,例如,将另一个字段添加到我的自定义实体中。 目前,我发现让Drupal注意到更改的唯一方法是卸载模块并重新安装。 有没有办法让Drupal检查模块提供的配置文件是否与活动配置相同,如果不相同,则更新活动配置?如何处理模块更新?在D7 hook_update_N中将使用PHP添加字段,但是看起来这应该由D8中的CM处理吗? 更新模块中的yml文件后我尝试过的事情: drush cr,配置同步。 手动将所有更新的配置文件复制到sites/default/files/config_XXX/staging/-但这会出现此错误“无法导入暂存的配置,因为它源自与该站点不同的站点。您只能在此站点的克隆实例之间同步配置。” 。 使用配置管理器手动导入文件。这可行,但是显然必须有一种更自动的方法。 [EDIT]手动使用config_update模块检查更改并“还原”到模块的配置。同样,这是手动的。 编辑:从管理配置-做和不做 不要 尝试通过更改模块的config / install目录中的文件来更改站点上的活动配置。这将不起作用,因为Drupal仅在安装模块时从该目录读取。 ...但是将会发生变化,除非模块绑定到他们在第一个发行版本中所需的任何配置,并且可能永远不会更新或添加配置。 提前致谢。

9
如何以编程方式显示块?
我正在使用Drupal 8 beta-14开发一个站点。我创建了一个不同术语的视图块,现在我想使用代码来显示它。如何以编程方式显示它?我曾经在Drupal 7中使用此代码来做,但是我对Drupal 8感到困惑。 $block = module_invoke('block', 'block_view', '4'); $text_block = render($block['content']);
33 8  blocks 

6
以编程方式创建一个术语?
我正在尝试向词汇表中添加很多术语(〜200个),但是我找不到为Drupal 8更新的任何导入模块,而且看来在Drupal 7中执行此操作的功能在Drupal 8.那么,有人能指出我这样做的正确方向吗? entity_create如注释中所建议的那样,我尝试使用以下代码来实现: $term_create = entity_create('taxonomy_term', array('name' => 'test', 'vocabulary_name' => 'client')); 但是我得到了这个错误: Drupal\Core\Entity\EntityStorageException: Missing bundle for entity type taxonomy_term in Drupal\Core\Entity\FieldableEntityStorageControllerBase->create() (line 65 of core/lib/Drupal/Core/Entity/FieldableEntityStorageControllerBase.php). 有任何想法吗?
32 taxonomy-terms  8 

5
如何从TID获取分类学术语名称?
我们很多东西的uri格式如site/taxonomy/XX,其中XX是整数。 我发现了很多问题,例如“ 如何从名称中获取TID? ”,但是我想从中获取名称TID。我正在尝试将面包屑脚本放在一起,除这些情况下,如“ home > term” 外,一切都很好。相反,我想要像“ home > <TERM NAME>”这样的内容。 我该怎么办?
32 7  taxonomy-terms 

7
如何消除PHP错误?
有没有办法使Drupal中的所有PHP错误,警告和通知静音?它们在开发站点上很有用,但存在很大的安全风险,会使该站点无法正常运行。 我知道在Drupal 6上的admin / settings / error-reporting页面可以阻止Drupal将错误写入屏幕,但是在Drupal 7的哪里可以找到它?似乎丢失了。
32 7 

5
我需要cron任务来处理队列吗?
我有一项任务大约需要45分钟才能完成,并且每天都需要完成(将用户同步到多个外部数据库等)。 为了处理工作,我设置了一个cron队列,hook_cron_queue_info()如下所示: function mymodule_cron_queue_info() { $queues = array(); $queues['update_users_queue'] = array( 'worker callback' => '_mymodule_process_user_queue_item', 'time' => 120, ); return $queues; } 我使用此功能填充队列: function mymodule_queue_all_users_for_synching() { //...query for users... $queue = DrupalQueue::get('update_users_queue'); foreach($users as $user) { $queue->createItem($user); } } 队列填充功能被称为cron任务。我使用Elysia Cron,因此我的实现hook_cronapi()是: function mymodule_cronapi($op, $job = NULL) { $items = array(); …
32 7  hooks  cron  queue 


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.