Drupal

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

5
如何按内容类型覆盖页面标题
我正在使用pagetitle核心模块来呈现页面标题。但是,对于某些内容类型,我希望页主标题应该是内容类型标签(例如“新闻”),而不是节点标签(例如“ Drupal 8已发布!”)。 有没有简单的方法可以实现?我的第一个猜测是使用,template_preprocess_page_title但$variables没有关于节点,节点类型等的任何上下文。
12 theming  hooks  8 


1
是否可以通过drush eval在模块的.inc文件内调用函数?
我有一个包含其他(.inc)文件的模块,该文件包含我需要通过Drush运行的功能。我知道可以运行drush eval,但是当我尝试为这些功能运行时,出现以下错误: PHP致命错误:调用/usr/share/php/drush/commands/core/core.drush.inc(1037)中未定义的函数my_module_my_function():第1行上的eval()代码 此命令有效(该功能在.module文件中)。 drush eval 'my_module_cron();' 该命令不起作用(该功能在.inc文件中)。 drush eval 'my_module_my_function();' 除了在模块中移动功能之外,还有其他解决方法吗?
12 7  drush 


5
如何部署用户界面翻译?
我在“用户界面翻译” / admin / config / regional / translate上翻译的字符串无法通过“配置管理” / admin / config / development / configuration导出。我想念什么吗? 我想使用hook_update_N或自动执行此过程drush cim -y。 在Drupal 8中自动部署“用户界面转换”的正确方法是什么? 我应该在里面做hook_update_N()吗? 我应该mytranslations.po在language文件夹中创建一些自定义文件吗? 我看到有locale_translate_batch_import_files()可能被使用。

1
如何在Drupal 8中渲染模板
我正在尝试在Drupal 8中渲染模板。在Drupal 7中,我将使用hook_theme创建主题,在模块中创建模板目录,将模板文件放入其中,然后可以使用theme()显示它。如何使用Drupal 8?我尝试了以下操作,但出错了: 在twitter_pull.module中 / ** *实现hook_theme()。 * / 功能twitter_pull_theme($ existing,$ type,$ theme,$ path){ 返回数组( 'twitter_pull_tweet_listing'=>数组( '变量'=>数组( '描述'=> array(), ), '模板'=>'模板/ twitter_pull_tweet_listing', ), ); } 内部twitter_pull / templates:twitter_pull_tweet_listing.html.twig 在我的块内: $ tweet_template = array('#theme'=>'twitter_pull_tweet_listing','#attributes'=> array('params'=> $ params)); $ output = drupal_render($ tweet_template,array('params'=> $ params)); 打印$ output; 我的日志中出现以下错误: 用户错误:“内容”是Drupal \ Core …
12 theming  8 

1
rc代表什么?什么时候使用alpha,beta和dev?
如何命名您的项目 project_name-7.25-1.0-alpha project_name-7.25-1.0-beta1 project_name-7.25-1.0-dev2 project_name-7.25-1.0-rc3 project_name-7.25-1.0-stable4 project_name-7.25-1.0-unstable5 遵循最佳做法?
12 7 

3
欧米茄4:将设置导出到.info
我敢肯定这是一个简单的问题,但是我找不到解决方案的任何资源。 在Omega 4中,我不断收到此消息“该主题的设置当前是通过变量提供的。您可能希望将它们导出到.info文件中”。 那我该怎么办呢?
12 theming 

5
如何使用hook_views_query_alter()修改条件?
我正在尝试修改视图查询的where条件。到目前为止,我成功地更改了“ order by”,但是我不知道如何更改where条件。我想检查search_term,如果它是大写的,请将其转换为小写,以便查询可以找到它。在查询运行之前,我还需要用我的语言(波斯语)替换一些特殊字符。任何人都可以帮助我从哪里开始,或者使用什么钩子或views_handlers? <?php /** * Implementation of hook_views_query_alter * @param type $view * @param type $query */ function nashreneydev_views_query_alter(&$view, &$query) { //krumo($query); //krumo($view); if ($view->name == 'custom_search') { $search_term = $view->exposed_raw_input['combine']; **//$query->where[0]['conditions'][0]['field']= "?????";** $view->query->orderby[1]['field'] = "CASE node_type WHEN 'product_display' THEN 1 ELSE 2 END"; $view->query->orderby[1]['direction'] = "ASC"; $view->query->orderby[0]['field'] = …
12 7  views 

2
重置/还原自定义模块的更新“ N值”
在自定义模块的安装文件中,我具有一个hook_update_N功能。假设是mymodule_update_7100。但是,我注意到我做错了,我想在此函数中更改一行代码。看来我已经运行了updb/ update.php更改将不会被提取,我必须将其重命名为其中一个,mymodule_update_7101或者在其后使用该名称创建一个新函数。我真的不想这样做,所以我想知道是否有一个变量可以告诉Drupal模块当前位于哪个“版本号”,以及是否可以重置它来欺骗它以允许我运行更新脚本。再次。 该功能对数据库产生的实际影响并不重要,因为它只是生成一个分类术语,我可以在之后轻松地通过前端将其删除。
12 updating 

4
以编程方式分配用户角色
我的网站上有多个角色,当某些用户注册到我的网站时,我想为其分配特定的角色。 当新用户提交注册表格时,我该如何以编程方式为新用户分配特定角色? 我尝试了诸如logintoboggan,autoassignrole之类的模块,但是当我想将角色分配给特定用户而不是我网站上所有注册的用户时,它们会在注册时提供默认的用户角色。
12 7  users 

2
hook_schema没有创建数据库表
以下功能作为名为process_login的自定义模块的一部分包含在process_login.install中。如果手动创建数据库表,该模块将起作用,但是自然地,我希望在安装时自动创建该表。 该函数本身在安装模块时不会生成架构错误。但是它也没有在Drupal 7 MySQL数据库中创建数据库表process_login_register。 我没有看到其他错误,也没有网站报告报告的问题。 我已将其完全删除并重新安装了无数次。我在网络上进行了广泛搜索,并查阅了两本有关Drupal开发的书。我看不到此功能有什么问题(下面列出)。 注意:我也尝试将'id'定义为序列,但是得到相同的结果(即未创建表)。 我的想法已经用完了。有人知道为什么这个功能不能正常工作吗? function process_login_schema(){ $schema['process_login_register'] = array( 'description' => 'Register a specific computer with the system.', 'fields' => array( 'id' => array( 'description' => 'Primary identifier.', 'type' => 'int', 'unsigned' => TRUE, 'size' => 'normal', 'not null' => TRUE, 'default' => 0, ), 'ip' …
12 7  database 


6
如何使用AJAX验证和提交表单?
我已经使用Form API创建了一个Webform。我正在使用#AJAXfield选项将AJAX验证添加到每个字段。 是否可以在不重新加载页面的情况下使用AJAX验证并提交表单。如果验证失败,我想显示一条错误消息,如果验证成功,那么我想显示一条消息(最好在灯箱中)并重置表单字段。 到目前为止,我的代码: $form['name'] = array( '#type' => 'textfield', '#title' => t('Name'), '#default_value' => '', '#maxlength' => '128', '#required' => TRUE, '#ajax' => array( 'callback' => '_validate_name', 'wrapper' => 'name-error-icon-container', 'method' => 'html', 'effect' => 'none', 'progress' => array( 'message' => NULL, ), ), ); $form['submit'] = array( '#type' …
12 7  forms  ajax 

7
使用表单API生成<button type =“ submit”>
我要整合一个主题很重的表格,其结构如下所示。除了提交,我大部分时间都在那儿。 &lt;form action="#"&gt; &lt;fieldset&gt; &lt;legend&gt;Authentification&lt;/legend&gt; &lt;label for="email"&gt;Courriel*&lt;/label&gt; &lt;input type="text" name="email" id="email"&gt; &lt;label for="password"&gt;Mot de passe*&lt;/label&gt; &lt;input type="password" name="password" id="password" class="last"&gt; &lt;a href="#" title="Mot de passe oublié?" class="clearfix"&gt;Forgot password?&lt;/a&gt; &lt;button type="submit" class="clearfix"&gt;&lt;span&gt;Login&lt;/span&gt;&lt;/button&gt; &lt;/fieldset&gt; &lt;/form&gt; 我尝试了许多不同的组合,结果button_type对核心没有影响。因此,我使用了此技巧,希望它能解决我的问题。,它仅更改(显然)“类型”属性,而不更改元素本身。按钮类型可以包含其他元素,在这种情况下,需要跨度来保存背景图像,因为按钮中的文本是动态的,所以它必须处于跨度中才能拉伸。 是否有人知道如何使用表单API生成以下标记行? &lt;button type="submit" class="clearfix"&gt;&lt;span&gt;Login&lt;/span&gt;&lt;/button&gt;
12 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.