Drupal

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

1
替换令牌中的!,%和@有什么区别?
我正在Drupal 7上使用消息模块。对于替换令牌,帮助文本显示: 逗号分隔的替换令牌列表,例如%title或!url,消息文本使用这些替换令牌。每个替换令牌必须以特殊字符“ @”,“%”或“!”之一开头。与t()函数类似,此字符控制使用的消毒方法。 %、!和@之间有什么区别?关于何时应该使用每个符号有标准吗?
15 tokens 

5
以编程方式将字段添加到字段组
我使用了“字段组”模块,并在后端创建了一些组。现在,我想以编程方式向该组添加一个字段。我怎样才能做到这一点。 我正在使用Hook_form_alter,我注意到每个字段都有一个'und'属性,其中列出了它所属的字段组,但是如果创建并添加'und'数组并为其添加字段组名称,则它不起作用。 我该怎么办?
15 entities 

2
如何在视图渲染之前更改过滤器的值并更改输出?
当使用Drupal 7和Views 3时,更改Views过滤器值以使其影响将要呈现的内容的正确方法是什么? 我尝试了这里提到的所有D6。 尽管有一些人可以使用它,但Merlin指出,修改display_options是实现此目的的不正确方法,但是他对要做什么的回答含糊不清(http://drupal.org/node/789710#comment- 2927556)。 我试过了: function pages_views_pre_view($view){ $view = views_get_view('north_carolina'); $view->set_display('default'); $view->display_handler->options['filters']['province']['value'] = 'Georgia'; dsm($view->display_handler->options['filters']['province']); } 笔记: 1)我创建了一个视图north_carolina,该视图具有两种类型的显示-页面和块(page_1和block_1)。 2)我的显示器上的过滤器是相同的,因此我尝试更改“默认”显示,以使其影响所有显示器。 3)我的过滤器的默认值为“北卡罗莱纳州”(在“视图UI”中设置),但请注意,我正在尝试将其更改为“乔治亚州” 4)如果之后立即运行DSM,我会看到过滤器已更改,但是,我的结果仍然显示“北卡罗莱纳州”结果。缓存已关闭,在全部运行drush cc之后,我仍然得到相同的结果。 我还尝试通过hook_views_pre_build和运行相同的代码hook_views_pre_execute。 有什么建议么? 编辑: 如建议的那样,可能会有更多信息。这是视图的转储: $view = new view(); $view->name = 'north_carolina'; $view->description = ''; $view->tag = 'default'; $view->base_table = 'node'; $view->human_name = 'North Carolina'; $view->core = …
15 7  views 

1
字段和字段实例之间的区别?
当我们去的路径/admin/structure/types/manage/article/fields,并使用Add new field选项或Add existing field选项,是否创建一个字段,创建字段实例或附加字段实例?如何区分它们?因此,以编程方式,何时使用field_create_field,field_create_instance和field_attach API? 在字段API文档中,它仅提及管理UI,从不谈论创建字段和字段实例的路径。因此令人困惑。我什至不知道我是否有意义。
15 7  entities 

2
如何创建一个空模块?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 一个人可以在Drupal中创建的最基本的有效模块是什么? 对于刚开始使用Drupal的任何人来说,提供一个简单的蓝图将很有用。
15 8 

2
如何为一种语言设置多个域
我有一个Drupal 7 多语言站点,它使用诸如en.example.com之类的子域来检测语言。一切都按预期工作,但是我有一个移动版的女巫网站,我希望可以通过en.m.example.com等域进行访问。我该怎么做?我admin/config/regional/language只能为每种语言设置一个域,但必须设置两个域才能正常工作,例如: for English: en.example.com & en.m.example.com for German: de.example.com & de.m.example.com etc. (我想拥有与Wikipedia相同的结构。)问题是,使用子域进行语言选择,Drupal将所有内部链接创建为绝对路径。例如,菜单链接将创建为: <li class="menu-773"><a href="http://en.example.com/test" >test</a></li> and not as <li class="menu-773"><a href="/test" >test</a></li> 因此,我可以使用Apache创建一个域别名,以将请求从en.m.example.com发送到en.example.com,但是所有内部链接都会使用户从移动版本恢复为正常版本。我怎么解决这个问题?
15 7  i18n-l10n  subsites 

4
Drupal 7网站是否有通用的nginx conf?
我看过Perusio的drupal-with-nginx存储库,虽然它的扩展范围令人印象深刻,但目前对我来说可能有点太先进了,此外,我在服务器上还有几个基于Symfony2的站点,并且在完全理解配置之前,我不会开始进行重大更改。 因此,我在博客上找到了它,并认为它可以完成此工作。在nginx上提供drupal 7是否有任何常见的陷阱?此外,如果同一Drupal安装要为多个站点供电,那么配置会有所不同吗? server { server_name example.org; root /home/me/sites/example.org; index index.html index.htm index.php; access_log /var/log/nginx/example.org.access.log; error_log /var/log/nginx/example.org.error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # For drush location = /backup { deny all; } # Prevent user …
15 7  multi-sites  nginx 

4
在响应主题中管理块
我刚刚开始基于Omega的响应式主题,首先关注移动布局。 有些块可能会被认为太“笨重”,无法包含在移动布局中,而其他一些块则需要专门针对该布局引入(淡化菜单,淡化的用户栏等)。 我可以使用CSS轻松隐藏移动布局中不需要的块,并在默认布局中包含特定于移动设备的块,然后将其隐藏(因此仅在移动设备上显示),但这似乎是一种倒退的思考方式它。如果未显示块,那么它们所产生的额外开销确实是不可接受的(特别是考虑到隐藏块中的内容将添加的额外数据库查询的数量)。 我认为必须有一种不错的干净方法来在页面构建的早期阶段拦截块决策过程,并基于某些os-detection排除/包含块,但我对此可能是空白可能。 我还要说明一个事实,那就是Varnish正在本网站的前面运行,这应该会使事情变得更加有趣:) 是否有模块/已知策略可以对此提供帮助? 我应该补充一点,因为该站点已经完全成熟,所以使用Context模块不是一个选择,此时将其移至Context中将是一项艰巨的任务。
15 blocks  theming 


1
Views 3中的“高级模式”是什么?
在本文中,第一条说明是 在每个站点上,运行drush vd以将“视图”设置转换为高级模式。 这是什么意思?用Google搜索“ Views Advanced Mode”(视图高级模式)时,产生的大部分只是指向本文的链接。什么是“高级模式”?
15 views 

3
Drupal管理区和登录名,使用HTTPS保护它们
我已经阅读了很多有关此的文章,并尝试了许多我发现的方法,但尚未使任何方法正常工作。 我希望能够保护管理区域和关联的登录页面。因此,example.com / admin / *或example.com/user/*等中的任何内容都需要通过SSL / TLS。我们希望将其应用于具有多站点设置的每个站点。因此example1.com,example2.com,example3.com都位于同一服务器/用户帐户上。 设置 Drupal 7多站点 启用清洁网址 PHP 5.3 MySQL v14 d5 阿帕奇2 笔记 不能选择Securepages,因为没有稳定的Drupal 7版本,并且使用现有的dev版本需要修补Drupal Core,这违反了我们的政策。 尝试了会话443失败 尝试过安全登录没有成功 已安装SSL证书(在测试时为自签名证书),该证书可在服务器上用于其他目的,而不是Drupal。 我已经阅读了Drupal.org上有关启用HTTPS的所有文档,并且尝试按照那里的指示进行操作,但收效甚微 我已经切换了settings.php中的$ conf ['https']设置,但没有明显的结果。 问题 如果对站点上的所有内容都启用HTTPS,则尝试通过https://的任何内容都会得到404,这使我认为重写规则不适用于https页面。我在这里想念什么?我可以向htaccess添加重写条件/规则来解决此问题吗? 在Drupal社区中这不是解决的问题吗?人们只是将管理员密码以明文形式发送出去而只是不保留其安全区域吗?我觉得很难相信,但是似乎没有内置的或众所周知的解决方案。
15 users  security  ssl 

2
更改面板生成的HTML:可以吗?
我喜欢使用面板,但是面板会给样式带来麻烦,因为它会产生大量的div。同样,适用于这些div的类也没有意义,而且也太庞大了。在我的前线同事之间造成混乱。 为了显示它们生成的输出: 问题是我正在使用960.gs,面板添加了自己的类和笨重的div结构,这使我不得不覆盖它们的类。这是我不想做的事,我想清理div。有什么办法吗? 编辑: 我为清理一些我认为无用的div所做的工作: 从flexible.inc中的第388行开始(面板/插件/布局/ flexible) $output = ''; //$output = "<div class=\"panel-flexible " . $renderer->base['canvas'] . " clearfix\" $renderer->id_str>\n"; // $output .= "<div class=\"panel-flexible-inside " . $renderer->base['canvas'] . "-inside\">\n"; $output .= panels_flexible_render_items($renderer, $settings['items']['canvas']['children'], $renderer->base['canvas']); // Wrap the whole thing up nice and snug //$output .= "</div>\n</div>\n"; 我实际上制作了一个灵活布局的副本并进行了编辑,但是如果我在这个项目上有更多的时间,我会为此创建一个更简洁的插件。 注意:这不是最佳解决方案,这是实现我的目标的最快途径。创建自己的小插件是最好的方法,您可以始终使用现有插件之一作为基础。
15 7  theming  panels 

1
是什么导致视图始终但间歇地找不到高级论坛模块提供的视图?
我从高级论坛模块收到一个频繁的间歇性错误,该错误在发生时会导致500错误(WSOD)。在生产中,每小时大约发生20次,每小时可能占所有论坛页面加载量的2-3%。它始终是断断续续的。在本地,我无法始终如一地重现该错误,但确实会发生。 错误发生 site / all / modules / contrib / advanced_forum / includes / core-overrides.inc`的232行: 调用未定义的方法stdClass :: preview() 问题在于Advanced_forum_get_topics()函数: function advanced_forum_get_topics($tid, $sortby, $forum_per_page, $sort_form = TRUE) { $term = taxonomy_term_load($tid); drupal_add_feed('taxonomy/term/' . $tid . '/feed', 'RSS - ' . check_plain($term->name)); // Views handles this page $view = views_get_view('advanced_forum_topic_list'); $view->sort_form = …
15 7  views  nodes  pantheon  database 

5
在Drupal 7中以编程方式创建菜单
一个新手问大家。 有什么想法如何以编程方式创建菜单?说我要创建3个不同的菜单。第一个菜单将位于标题的左上方。第二个菜单将位于第一个菜单的下方。第三个菜单将是主导航。 这些菜单可以在同一组中吗?造型会不会有问题? 谢谢
15 routes 


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.