Questions tagged «installing»

将其用于有关安装Drupal,模块或主题的问题。


4
创建可重复的Drupal安装?
当为不同的站点安装Drupal时,我发现自己经常一遍又一遍地安装相同的模块。为了DRY的利益,我如何创建一种自定义站点“模板”,该模板将允许我安装drupal并具有已安装的基本模块,基本主题集以及可能的其他一些常见配置选项集? 我已经阅读了一些有关Drupal配置文件的信息,并且看到了Drush工具,也许除了这些工具之外还有其他工具。我想知道这样做的最好方法是什么? 更新 好吧,看来Drush make和Drupal安装配置文件是完成此任务的正确工具。我发现了这些博客文章,其中涉及他们: 总览 冲做 安装配置文件 我觉得我几乎拥有所有拼图。我仍然不清楚的是如何将草绘制作过程与配置文件结合起来?如何将您的配置文件放入drush make创建的drupal安装的profile目录中?还是应该仅通过Shell脚本来执行此操作? 更新2 我找到了这个视频: http://chicago2011.drupal.org/sessions/zero-distribution-using-features-profiler-and-drush-make 解释了如何在分析器中使用drush make。好像drush make和配置文件之间的连接是您有一个drush make文件,该文件仅下载drupal和您的配置文件。然后,在您的配置文件“模块”中,您还有另一个drush make文件,该文件将下载所有模块组件。 视频还讨论了功能,这是drupal设置自动化的另一个层次。 我没有被这个工作流程所吸引。这一切似乎有点令人费解。但是,这是我的第一次曝光,所以也许以后我会再感激的。我喜欢drush make,但我想我可以使用drush启用模块,而不用弄乱配置文件。我想我将制作一个运行drush make的bash shell脚本,然后使用纯drush启用模块。 下一步将是如何以可重复的方式对模块进行一些配置。我想这可能是功能?或者,也许我应该进一步研究个人资料。

3
快速卸载/重新安装自定义模块
我正在创建一个模块,但我逐渐熟悉Field API,以及所有设置在各个字段上的作用以及不起作用的地方。在执行此操作时,似乎更新自定义内容类型的唯一方法是禁用模块,将其卸载,然后重新启用它。 是否有捷径可寻?目前,这是一个比较费力的过程,需要多次单击才能反复执行相同的操作。我正在寻找一个脚本或模块来通过(理想情况下)单击快速处理此问题。
18 installing 

4
如何获取hook_install()以运行所有hook_update_N()?
如何获取hook_install()来运行模块的所有更新?我有mymod.install文件。 我试过了 function mymod_install() { mymod_update_6001(); } 但它似乎无能为力。如果我有mymod_update_6002(),我仍会调用6001(),只需调用6002()或同时按6001(),6002()的顺序调用它们。 我认为在默认情况下安装模块时运行所有更新是常识。
18 6  hooks  installing 



2
在模块安装过程中如何创建表
我正在尝试为Drupal 7创建一个模块,我需要创建3个表并填充它。但是首先我需要创建它。 在文件mymodule.install中,我有 function mymodule_install() { } function mymodule_uninstall() { } function myodule_schema() { $schema['mymodule_table'] = array( 'description' => t('First table'), 'fields' => array( 'id' => array( 'description' => t('My unique identifier'), 'type' => 'int', 'unsigned' => true, 'not null' => true, ), 'list' => array( 'description' => t('list'), 'type' …
14 7  installing  database 



2
卸载模块时删除所有变量的最佳方法
我正在编写一个模块,其中写入了多个变量(每个内容类型分别为三个,四个变量,以及其他)。 我应该使用哪种方法在hook_uninstall上删除它们? 执行搜索“ mymodule_ *”变量的查询是否安全? 还是应该为内容类型和搜索变量循环,所以多次调用variable_del?

2
如何使用hook_install()将默认值添加到数据库表?
我正在创建一个带有几个表的自定义模块的自定义模块。这些表需要预先填充一些值才能使模块正常工作(默认位置,选择选项等)。 在hook_install期间将默认值插入这些表的最佳实践是什么? 由于drupal_write_record不可用,因此我可以使用db_query,但我只想确保这样做不会违反任何基本规则。

1
使用Composer管理模块库依赖项
我已经在使用drupal-composer的自定义模块中找到了依赖关系,如何在不使用Composer Manager的情况下在我的自定义模块中包含第三方库,以及如何管理与drupal 8有关的contrib模块composer依赖关系,这些都与我的问题有关,但是没有自Drupal 8.1和Composer管理器弃用以来,似乎不再适用。 同样流行的指南(如D8和Composer的权威介绍)似乎不再适用,因为它们也提到了composer manager。 与作曲管理器相对的另一种解决方案是更改核心composer.json文件,这感觉像是过多的核心黑客攻击,并且可能会随着Drupal核心(?)的每次Drush更新而中断。 更具体地说,我尝试将View vCard从Drupal 7 更新到8。我创建了composer.json文件,如下所示: { "name": "drupal/views_vcards", "description": "Allows creation of vCards using the fields provided by the Views module.", "type": "drupal-module", "license": "GPL-2.0+", "homepage": "https://drupal.org/project/views_vcards", "require": { "maennchen/zipstream-php": "0.3.*" } } 但是,如果我在模块文件夹中放置了composer.json文件,如何使Drupal知道该文件在那里,以及如何确保zipstream-php下载了所需的库? 简单地composer update从Drupal根目录运行确实会更新许多Drupal依赖关系,但是它不包括modules文件夹中的composer.json文件。我也不认为我应该composer install从具有依赖性的所有模块中调用。 如何在不使用作曲管理器和/或黑客内核的情况下使Drupal知道模块的依赖性? 更新: core使用的composer merge插件似乎支持通配符路径: { "require": { …


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 = …

9
如何通过Makefile使用Drush启用新模块
在工作中,我们正在努力在git中设置新站点并进行本地开发。到目前为止,我已经创建了一个drush make文件以及一个安装配置文件,并且已通过puppet编写了此脚本,以便当用户对存储库进行全新克隆时,它将下载所有软件包并运行基本的站点安装。这样就可以了。 现在,我的问题是我何时需要为网站使用新模块。例如,我们为该站点构建一个新模块。我希望其他开发人员从git中提取并自动安装新模块。将其添加到drush make文件中只会导致其被下载,而运行“ drush si”将导致该站点被重新安装,从而清除所有数据。 做到这一点的最佳方法是什么? 编辑 我觉得我没有正确解释。我正在寻找一种基于drush中makefile条目自动启用模块的方法。这个想法是用户签出一个项目,然后如果不存在settings.php文件,我将让木偶运行'drush make'和'drush si'。我需要弄清楚的是,当用户下次进行拉动并且我们添加了一个新模块时,如何通过一些脚本自动启用该模块。如果需要的话,我会写一些东西来解析makefile并手动运行“ drush en”,但是我想找到一些预先构建好的东西。

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.