Drupal

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

3
是否仍使用hook_init()?如果不再使用,如何转换实现hook_init()的代码?
在Drupal.org API上,我注意到Drupal 8没有记录hook_init()。在更改记录中,我发现Bootstrap钩子不再存在,它指向摆脱所有'bootstrap'钩子,而Bootstrap钩子在这里据说是hook_boot()和hook_exit(); 什么也没说hook_init()。 我在Drupal 8源代码中搜索hook_init,发现以下代码。第一个是hook_init()在评论中提及的内容;其他两个似乎是一个hook_init()实现,但是它们都得到了我不期望的参数。 function overlay_enable() { if (strpos(current_path(), 'admin/modules') === 0) { // Flag for a redirect to <front>#overlay=admin/modules on hook_init(). $_SESSION['overlay_enable_redirect'] = 1; } } /** * Implements hook_init(). */ function phptemplate_init($template) { $file = dirname($template->filename) . '/' . $template->name . '.theme'; if (file_exists($file)) { include_once …
10 8  hooks 

4
如何根据重写的字段对视图排序?
我有一个内容类型的视图,其中包含两个不同的日期字段(一个带有重复日期和一个多值单个日期)。任何给定时间仅填写一个日期字段。在视图的显示中,我通过隐藏第一个日期字段并重写第二个日期字段并包括第一个和第二个的替换标记来组合这两个字段。现在有什么方法可以使用重写的字段基于此合并的日期字段按升序对视图进行排序?看起来它会根据日期字段的原始值对其进行排序。 我完成了研究,只发现了有些老套的线程,并且死胡同。 视图按重写字段排序? 表不按重写字段排序,但按原始字段排序 视图:用于排序条件的自定义字段 按global:custom文本排序。可能吗? 我希望有一种新的或偷偷摸摸的方式来实现这一目标。
10 views 

3
如何显示要在Drupal的某些页面中显示的块?
考虑一个模块荒漠: 第1页:- deserts/* 第2页:- deserts/*/* 第3页:- deserts/*/*/* 动态内容... 我有三个方块,分别是a,b和c: 块a应该仅在第1页中显示 b块应仅在第2页中显示 块a应该仅在第3页中显示 这种限制应该怎么做?
10 blocks  7 

3
Google是否以维护模式抓取Drupal网站?
我正在使用Aegir以子域名(即test.mydomain.com)克隆我的网站的副本。这些副本处于维护模式,以防止垃圾邮件发送者和窥视者。然后,在将更改提交到我的主站点mydomain.com之前,我将使用这些副本进行测试和开发工作。 但是,这些克隆站点的存在会损害我的SEO吗?Google是否会抓取已进入维护模式的网站?拥有那么多死胡同的子域会惩罚我吗?

5
如何通过tid获得翻译的术语名称?
我正在寻找一种工作方法,以通过来获取翻译的术语名称tid。 以下代码返回原始术语名称,但不返回翻译。 global $language; $lang_name = $language->language; // en $term_id = 788; $term = i18n_taxonomy_term_get_translation($term_id, $lang_name); “ 如何以编程方式获取翻译的分类学术语? ”中提供的大多数示例似乎不适用于Drupal 7。

2
如何定义实体预处理功能
我的自定义模块定义了一个自定义实体,该实体扩展了EntityAPIController类。我设法使其基本工作,即通过我的自定义tpl.php文件显示字段等。不过,我想创建一个mymodule_preprocess_entity函数(如建议在这里),以自定义变量添加到tpl.php文件。但是此类功能未运行(未调用)。 另外,当我显示该实体时,我注意到template_preprocess_entity(&$variables)来自entity.module 的函数也未运行。 还需要定义什么才能使被调用的自定义实体具有预处理功能?
10 7  theming  entities 

2
Drupal主/从复制
我已经为drupal数据库设置了两个具有主/从复制功能的MySQL服务器,并且我已经确认数据库是同步和复制的。 我现在正试图将drupal指向这两个数据库,基本上是出于故障转移/冗余的目的。那就是如果我需要重启我们的主数据库服务器,我不希望我们的站点宕机。(在故障情况下可以接受只读) 根据以下文章。我修改settings.php如下: $databases['default']['default'] = array( 'driver' => 'mysql', 'database' => 'sdrupal', 'username' => 'drupal', 'password' => 'topsecret', 'host' => 'masterdb.ptp.local', ); $databases['default']['slave'][] = array( 'driver' => 'mysql', 'database' => 'sdrupal', 'username' => 'drupal', 'password' => 'topsecret', 'host' => 'slavedb.ptp.local', ); 在关闭主服务器(服务mysqld停止)之前,配置是正确的-当我这样做时,我的站点呕吐: PDOException:SQLSTATE [HY000] [2013]在“读取初始通信数据包”时与MySQL服务器的连接断开,系统错误:drupal_is_denied()中的111(/www/includes/bootstrap.inc的1895行)。额外 PDOException:SQLSTATE [HY000] [2013]在“读取初始通信数据包”时与MySQL服务器的连接断开,系统错误:dblog_watchdog()中的111(/www/modules/dblog/dblog.module的第141行)。 使这项工作有效的诀窍是什么?



2
UI中的视图选项不起作用
选项在我的视图UI中不起作用。JavaScript已启用。例如,如果在视图中,如果我想重写输出,然后单击复选框,则没有更多选项。
10 7  views 

4
如何强制规范URL使用http?
在我们的页面上,我们使用Metatag模块显示规范的meta标签。在配置中,我们使用[current-page:url:absolute]令牌。这可以很好地工作,但是问题是,无论页面是通过HTTP还是HTTPS访问,该协议都在规范的URL中使用。 出于SEO的目的,我们希望规范的URL相同,并且对两种协议都使用HTTP。 我们怎样才能做到这一点?
10 uri  meta-tags 

2
您如何为Drupal核心贡献补丁?
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 向Drupal核心贡献补丁的正确过程是什么? 假设我在Drupal核心中发现了一个错误,对其进行了修复并创建了补丁。我该如何提交? 如果该错误位于Drupal 7中,是否还必须在Drupal 8中对其进行修复并提交两个补丁?这是否也适用于文档错误/改进? 所有补丁都还需要单元测试吗?

2
自定义可以在“日历”弹出窗口中单击的日期
我正在使用表单API在Drupal 7中创建一个表单。现在,我可以使用以下代码创建一个普通的日历输入字段: $form['services_tab']['schedule_datepicker'] = array( '#title' => t('Pick the desired date'), '#type' => 'date_popup', '#date_year_range' => '0:0', '#date_format' => 'Y-m-d', '#prefix' => '<div id="datepicker-schedule">', '#suffix' => '</div>', ); 现在,我可以显示漂亮的日历弹出窗口了。我要达到的目的是根据以下规则启用或禁用某些日期:禁用所有星期六和星期日;甚至根据国定假日列表从特定日期删除点击状态... 这是可以用PHP编码实现的,还是需要用jQuery完成?万一jQuery是解决方案,我将不胜感激有关该操作的任何提示...日历是一个表,但是表单元格没有ID或可以帮助我根据规则查找和禁用它们的东西。 .. 谢谢。
10 forms  datetime 

3
如何使全新模块依赖于正常运行所需的最低版本的Drupal 7?
我正在开发一个全新的模块(尚无任何站点在使用它)。它需要特定的Drupal版本,因为它使用了hook_taxonomy_term_view()Drupal核心版本7.17中引入的挂钩。 我想避免使用例如Drupal 7.16或任何早期版本的Drupal core在站点上启用我的模块。高于7.17的更高版本的Drupal应该很好。 我的问题:如何使我的模块依赖于最低的Drupal 7.17版本? 注意:对于已安装模块的站点,我不需要(不必担心)解决方案。因此,不需要在7.17之前的Drupal版本中以某种方式禁用它。
10 hooks 


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.