Drupal

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

2
重设用户密码,而无需使用“忘记密码?”
我知道在Drupal 7中,我可以通过代码重置用户#1的密码。 define('DRUPAL_ROOT', getcwd()); require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); require_once DRUPAL_ROOT . '/includes/password.inc'; $newhash = user_hash_password('newpass'); $updatepass = db_update('users') ->fields(array('pass' => $newhash)) ->condition('uid', '1', '=') ->execute(); (user_hash_password()在Drupal 8中不再存在。) 另外,我可以使用以下代码。 define('DRUPAL_ROOT', getcwd()); require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); require_once DRUPAL_ROOT . '/includes/password.inc'; $edit['pass'] = 'newpass'; $account= user_load(1); user_save($account, $edit); Drupal 8的等效代码是什么?我应该为此使用什么API?
9 users  8 


2
如何在树枝字段模板中添加变量?
在节点页面上,我想将节点标题与另一个字段(示例字段)一起添加到输出中。 我创建了一个新的,field--field-example.html.twig但由于在字段模板中不可用而无法访问节点标题变量。 我需要将变量添加到主题预处理:中themename.theme。 我该如何在其中添加变量?themename.theme相应的条目将是什么field--field-example.html.twig?
9 theming  8 

2
运行时出现Drush PHP语法错误
我正在遵循此页面上列出的Drush安装说明:https : //github.com/drush-ops/drush/blob/master/docs/install.md 我似乎在代码内收到语法错误: [user@localhost ~]$ wget https://github.com/drush-ops/drush/releases/download/8.0.0-rc4/drush.phar --2015-11-16 16:23:02-- https://github.com/drush-ops/drush/releases/download/8.0.0-rc4/drush.phar Resolving github.com (github.com)... 192.30.252.131 Connecting to github.com (github.com)|192.30.252.131|:443... connected. HTTP request sent, awaiting response... 302 Found 2015-11-16 16:23:05 (1.47 MB/s) - drush.phar saved [3496991/3496991] [user@localhost ~]$ php drush.phar core-status Parse error: syntax error, unexpected '[' in phar:///home/user/drush.phar/includes/output.inc on line …
9 drush 

1
如何创建自定义用户标签?
我正在尝试创建一个新的自定义标签,该标签会出现在所有实体的后代中。{entity_type} .canonical。我尝试扩展DeriverBase类,特别是重写getDerivativeDefinitions方法。我通过扩展LocalTask​​Default并覆盖getRouteParameters方法来创建选项卡。当您访问标准Drupal用户路径(例如www.mysite.com/user/1/或www.mysite.com/user/1/edit)时,将显示该选项卡。但是,当我们添加新的自定义用户路线(例如www.mysite.com/user/1/subscribe)时,不会显示任何标签。是否有一种特殊的方法可以在自定义路线上定义本地菜单任务?代码示例: $this->derivatives['recurly.subscription_tab'] = [ 'title' => $this->t('Subscription'), 'weight' => 5, 'route_name' => 'recurly.subscription_list', 'base_route' => "entity.$entity_type.canonical", ]; foreach ($this->derivatives as &$entry) { $entry += $base_plugin_definition; } 在此先感谢您的帮助。
9 8 

3
如何使用日期模块输入不完整或部分日期?(日/月/年/年)
我有一个内容类型A,它有一个日期字段。 我选择Day-Month-Year此日期字段。但并不是每一个内容有一天,我只想选择Month并Year为这些内容。 如果我仅选择(输入)月份和年份,则会出现错误: 日期字段的输入值无效:1979年3月的值与预期格式不匹配。 我安装并尝试了Partial Date模块,但是尽管在模块页面上显示了它,但仍然无法执行我想要的操作: 此模块提供日期和时间字段,该字段允许将任何单个组件保留为空白,同时仍提供字段的可排序列表。 我怎样才能做到这一点?我想为某些节点输入完整日期(Day-Month-Year),而对于其他一些节点则输入部分日期(仅Month-Year),也许仅输入其他日期Year。这不可能吗? Day-Month-Year Month-Year Year (与此同时,还有一个未解决的问题:允许“模糊”粒度。)
9 7  datetime 

2
禁用特定块的缓存
我想让页面继续受益于面向匿名用户的Drupal 8缓存机制,除了特定的块,该块应该在知道刷新页面是从Views生成的情况下,在每个页面刷新时更新。 在技​​术上可行吗?怎么样?
9 views  blocks  8  caching  users 

1
我可以在PHP 7.0上运行我的网站吗?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我已经开始阅读有关PHP 7.0的一些性能基准测试,这些基准表明它的运行速度惊人地快得多。我到处搜索有关PHP 7.0的Drupal支持的信息,但我能找到的所有问题都与Drupal 8有关,而我目前仍在研究Drupal 7。 我发现这篇文章与Windows上的Drupal有关,这表明PHP7上的D7可以工作,但是由于我在Centos或Ubuntu上运行,因此我欢迎任何人对此有任何了解。 我的关注特别强烈,因为我刚开始一个有大量数据输入的项目,因此对性能非常敏感。
9 7 

3
如何使用drush sql-dump跳过特定表?
我有一个drush配置文件〜/ .drush / drushrc.php: if (!isset($options['structure-tables']['common'])) { $options['structure-tables']['common'] = array( 'cache', 'cache_*', 'history', 'search_*', 'sessions', 'watchdog' ); } $options['structure-tables']['common'] = array_merge($options['structure-tables']['common'], array('ctools_css_cache', 'ctools_object_cache', 'logz', 'views_object_cache') ); 我有一个bash脚本文件: /usr/bin/drush sql-dump --root="/home/username/domains/sitename/www" --skip-tables-key="common" --gzip --result-file=/home/username/backup/$year/$month/dbname_$date_now_time.sql 但是当我执行它时,备份文件仍然在缓存表中有数据。我究竟做错了什么? 第二个问题是-如果将其放入crontab中,是否需要将配置文件放在其他位置? 我使用Drush版本8。
9 drush  backups 

2
配置导出/导入不起作用
我drush config-export staging在网站的本地版本上进行了操作drush config-import staging,然后在服务器上进行了操作。它导入了所有分类法词汇,但没有输入任何术语。我还通过UI(Configuration-> Development-> Configuration Synchronization)进行了尝试。这是Bug还是Drupal 8的未完成性质?

5
“源数据库不包含可识别的Drupal版本。”
我在本地Ubuntu桌面15.10 Apache2(2.4.12)环境中安装了两个Drupal站点:一个是Drupal 8的全新安装,第二个是使用Drupal 7构建的现有工作站点的副本(主要是核心模块)基于网页,非常不起眼)。两个站点在任何地方都可以正常工作,没有任何问题。 我的目标是首先将Drupal 7站点升级到Drupal8。我完成了所有初步阶段,例如配置相同的语言,通过模块保持最少的数量(卸载D7站点中的所有模块,这些模块我可以在升级后轻松带回) ),确保在两个站点中都安装了相同的模块,等等,现在我只想将我的Drupal 7站点“超越”(希望它有一个好的用语)到新的Drupal 8站点中。 为了实现我的目标,我在Drupal 8站点中安装了Drupal升级模块,转到localhost / sitename / upgrade,并填写了Drupal 7站点的所有详细信息。 当我单击“查看升级”按钮时,出现错误: 源数据库不包含可识别的Drupal版本。 我已将此错误搜索为确切的短语(“错误”),却发现很少的结果;在我看来,他们中的大多数人似乎都需要我已经获得的PHP编程知识,因此我无法确定错误是由于错误(尤其是由于该模块仍在繁重的开发中)还是由于我的错误造成的。了解此模块的概念\功能。 D8 Drupal升级模块不喜欢我提供的D7数据库的原因是什么?特别是当Drupal 7网站在网上和本地都可以正常工作时。 如果由于某种原因无法升级,迁移将是升级的一个不错的选择吗?如果是这样,那么您可以想到的最佳,最简单的迁移解决方案是什么? 我去了/var/www/html/benia/modules/migrate_upgrade/src/MigrationCreationTrait.php,并做了: -- return $version_string ? substr($version_string, 0, 1) : FALSE; ++ return 7; ++ return $version_string ? substr($version_string, 0, 1) : FALSE; 比在屏幕顶部出现此错误。
9 8  migration 


1
发送表格到树枝模板
如何在Drupal 8中将表单传递给树枝模板? 例如,我得到这个: 表格:mymodule / src / Form / MyForm.php 然后在我的控制器上: public function myController() { ?????? return [ '#theme' => 'mytemplate', ?????? ]; } mytemplate.html.twig {{ ????? }}
9 entities  8  theming 

5
使用基于参考的模块而不是分类法模块的优点或缺点是什么?
我想知道如何决定使用核心分类标准模块还是实体引用模块? 我以前没有使用实体引用模块,但是在10-15个网站上使用了分类法模块(和一些相关模块)。 使用基于参考的模块而不是分类法模块的优点或缺点是什么? 最近,我开始建立一个杂志档案网站。 有很多杂志。这些杂志都有问题。每期都有文章。 这里最小(也是最深)的部分是文章。 文章 页码(范围): 标题: 作者: 文章类型: 关键字: 杂志: 问题: 问题 发行数量: 封面图片: 日期(已发布): 杂志: 杂志 描述: 封面图片: 这里,(至少)有两种方法可以实现此网站: 1.将有一个称为的内容类型article,所有其他类型(发行,杂志,作者)将为分类术语(分层)。在发行和杂志等之间会有一个等级。 2.内容类型很多:文章,期刊,杂志,作者。在创建文章时;问题,杂志和作者等均可参考。 因此,从理论上讲,这两种方法似乎非常相似。 有没有人遇到过类似的情况,请问您选择哪种方法,为什么?

1
如何在Drupal 8中使用#element_validate和#value_callback
我遵循了官方的Form API文档,但是此代码在Drupal 8上对我不起作用: public function buildForm(array $form, FormStateInterface $form_state) { $form['upload'] = array( '#title' => t('Upload Images'), '#type' => 'managed_file', '#upload_location' => 'public://image_example_images/', '#element_validate' => array('file_generic_settings_max_filesize'), ); return $form; } private function file_generic_settings_max_filesize($element, &$form_state) { form_error($element, 'This is an error.'); } 我试图通过$ form_state-> setErrorByName()替换form_error(),但存在相同的问题,文件已上传且未调用验证。 请问您有解决方案吗?#element_validate的文档已过时? 我的目标:上传大量图像,使用自定义验证,然后将所有图像缩略图插入,并在<div class="preview"></div>其中为每个图像命名。 示例:( 上传后,显示缩略图和标题字段以命名所有图像) 否则,在上传之后,要显示每个图像的缩略图和其他字段(标题和描述),我需要使用#value_callback,#process,#attached(在上传后管理字段/使用js显示)或其他选项,请吗? …
9 8  forms 

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.