Drupal

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


1
如何在不交互的钩子之间传递数据?
如何在钩子之间或菜单回调与钩子之间不交互的钩子之间传递数据? 如果两个钩子有一个共同的参数,并且该参数通过引用传递,那很容易。当挂钩,菜单回调和挂钩没有共同的参数时,我该怎么办?
10 hooks 


6
如何从字段标签中删除冒号?
我只是希望能够从渲染的字段标签中删除冒号,例如: 酒店名称:至酒店名称 我复制了field.tpl.php并在那里删除了冒号,但是无论Drupal拒绝接受它是什么,并且正在从其他地方拉冒号。 如何使用template.php函数执行此操作?
10 7  entities 

6
友好的错误页面来替换WSOD
这应该是最简单的事情,但是由于某种原因,我无法完成它。 我正在尝试获取一个友好的静态错误页面,以替换令人讨厌的500种情况。现在,我只是想在本地计算机(运行于MAMP的Drupal 7)上复制500种情况,方法是在主题的template.php顶部添加一些废话字符,这确实会触发500种情况,但是对于由于某种原因,我.htaccess或Apache配置文件中的ErrorDocument指令无效。 我正在做的事情很简单: ErrorDocument 500 /500.html 我的网站根目录中有一个最简单的静态html页面,名称为500.html。 仍然,当我有意破坏template.php时,我得到的是可怕的死亡白屏,而不是友好的错误页面。 我在这里做错了什么?我已经在非Drupal设置中完成了十亿次操作,但是我无法理解这一点。 更新:在我的特定用例中,这个问题似乎非常多余,因为我们用来运行有问题的应用程序的Acquia的Dev Cloud目前甚至不支持自定义500系列错误页面。希望他们能尽快对此提供支持。

3
缓存Drupal引导程序
我很好奇是否有人试图在Drupal中“缓存”引导过程。 通常,Drupal将在每个请求上运行7个引导阶段,但是也许在已部署的生产系统上,可以“销毁”其中的一些或全部? 我想到的可能的建议可能是 序列化引导状态并将其粘贴到内存缓存中 脚本可以为bootstrap.inc生成补丁,该补丁会将某些信息硬编码到文件中。 我相信David Strauss试图使引导过的Drupal在libevent上运行。 其他疯狂吗? 那里进行了哪些尝试,哪些已知((某种程度上)可靠)?

6
如何根据当前页面输出子链接
当登陆的菜单项是其他页面菜单项的父项时,我希望能够显示这些子菜单项的列表。我正在使用以下代码。 $trail = menu_get_active_trail(); menu_build_tree('main-menu', array( 'expanded' => array($trail[1]['mlid']) )); 但是,返回的数组看起来像这样(删除了许多不必要的数组)。 array '49950 PKY Truck Beauty 312' => array 'link' => & array 'menu_name' => string 'main-menu' (length=9) 'mlid' => string '312' (length=3) 'plid' => string '311' (length=3) 'below' => array '49952 Seminars 314' => array 'link' => & array …
10 routes 

8
单击#ajax按钮时如何添加JS确认弹出窗口
我有一个已启用#ajax的基本FAPI按钮输入,并且工作正常,但是我想添加一个JS“您确定吗?” 在代码实际运行之前单击该按钮时会弹出确认对话框,我不确定该怎么做,因为无论我做什么,FAPI的JS似乎都在吞噬单击之前的内容。 我尝试添加一个内联onclick处理程序,如下所示: $form['search_filters']['channels']['channel_delete_' . $channel->nid] = array( '#type' => 'button', '#name' => 'channel_delete_' . $channel->nid, '#value' => 'Delete', '#attributes' => array( 'class' => array('confirm'), 'onclick' => "return confirm('Are you sure you want to delete that?')" ), '#button_type' => 'no-submit', '#ajax' => array( 'callback' => 'delete_channel_callback', 'wrapper' => 'channel_container_' . …
10 7  forms  ajax  javascript 


1
通过令牌传递参数
是否可以将参数与令牌一起发送? 我有一个定义mod1_info和mod1_tokens的模块。如果在页面上输入%token:mod1:test,它将替换为<a href='test.html'></a>。 我真正想要的是输入%token:mod1:test [variable]并获取<a href='test.html'>variable</a>。 这可能吗? 在幕后,使用一些动态参数构建了test.html,因此它实际上看起来类似于test.html?param1 = foo&param2 = bar。我需要的是一种使网站编辑可以在任何页面上插入令牌的人,并且能够指定链接显示的内容(图像,文本或两者)。
10 tokens 

1
为什么以表格为主题的表单无法正确发布数据或显示正确?
我已经在管理员中创建了一个表单。 $form['things'] = array( '#prefix' => '<div id="things">', '#suffix' => '</div>', '#tree' => TRUE, '#theme' => 'table', '#header' => array(t('Field Label'), t('Field Name'), t('Location'), t('Stuff')), '#rows' => array(), ); 然后,我将每一行添加到它: foreach ($type_fields as $field_name => $attrs) { $stuff = array( '#type' => 'textfield', '#default_value' => $attrs['stuff'], ); $form['things']['#rows'][] = array( …
10 7  forms 

4
建立一个EntityFieldQuery选择引用的实体
我正在寻找类型A的实体的ID,我知道引用A的实体B的ID。 我找到了一些关于EntityFieldQuery的不错的资源。我很惊讶我在Google .NET中从.NET获得结果(这是Drupal成熟的标志吗?:)。但是没有设法找到这个。请帮忙 ... 一些来源: 怎么做 讨论构建示例 github上的示例模块 这就是实体负载的样子-您将了解我需要该查询:)包装器主要用于练习。请注意,它会加载目标实体-很多查询。 $b = entity_load('B', array($id)); $bm = entity_metadata_wrapper('B', $sl[$id]); $tsl = $slm->field_sl_tpref->value(); echo $tsl->id;
10 7  entities 

2
如何制作视图幻灯片,每页显示的项目多于一个
我使用drupal 7中的views slideshow进行了幻灯片显示,以显示一堆徽标,但是每页只显示一个项目,例如,当访客下一次点击时,我想在每页显示6个徽标,然后滑动到下6个项目,等等。我检查了“视图”幻灯片字段设置,但找不到任何地方可以设置每页显示多少个项目。 谢谢。
10 7  views 

2
节点上匿名用户的通知
我正在寻找一个模块或某种解决方法,例如涉及“规则”,它将允许匿名用户在他们创建的节点上订阅新评论。我的用户场景如下: 匿名用户想要发布新的论坛主题 她单击“添加新论坛主题”按钮 在URL节点/添加/论坛上,她以通常的形式显示 在表单上,​​有一个电子邮件字段,下面带有一个复选框,标签为“当评论发布到我的主题时,我希望收到一封电子邮件” 她输入了电子邮件并标记了该复选框-是的,她希望收到电子邮件通知 她提交了表单,并且在其主题中发布评论时,她会收到一封通知电子邮件,其中包含该评论的链接以及一个允许她取消订阅该主题的链接。 我在groups.drupal.org上看过这个不错的文章,其中比较了不同的通知模块,但似乎没有一个提供我想要的功能。 我已经安装了提供所需功能的Comment Notify,但仅在注释上,而不在节点上。 我曾尝试安装Watcher,但它尚处于开发初期,但似乎仍然存在问题。 在我看来,这是一种非常常见的情况-建议使用什么方法来实现此功能?任何帮助都非常感谢。

2
将变量从html预处理功能传递到页面预处理功能?
在我的自定义主题hook_preprocess_page()和hook_preprocess_html()功能中,我经常需要标识相同的信息。与其本质上运行相同的if语句来检查两个标识相同的信息,不如在两个对象中都执行一次,然后将该信息传递给另一个预处理函数,将更加有意义。我怎样才能做到这一点?我尝试了以下操作,但没有成功: function myTheme_preprocess_page(&$vars){ $vars['myValue'] = 7; } function myTheme_preprocess_html(&$vars){ //$vars['myValue'] should equal 7... } 我还尝试了另一种方法(在preprocess html函数中设置值,然后在页面preprocess函数中检索它),但这也不起作用。哪个提出了一个相关的问题:这些预处理功能按什么顺序处理?在我看来,页面预处理功能位于html之前,是正确的吗?
10 7  theming 

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.