Questions tagged «theming»

将其用于有关渲染或修改模块/主题产生的HTML标记的问题。

4
如何覆盖一些管理主题CSS规则?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 有没有一种方法可以仅覆盖admin主题使用的某些CSS规则,而不触及admin主题本身(通过某些主题功能或模块挂钩)?例如,我想text-align: right在管理表单中(以及在编辑节点中)向每个整数字段添加a 。
20 7  theming 

6
包括部分模板
我正在尝试使用具有自定义主题的Drupal 8,由于结构上的巨大差异,我有一个页面-front.twig.html和page.twig.html,我想创建用于常规Symfony2项目中的phrozn oder,例如footer.html.twig和header.html.twig。这些模板保存在子目录/ parts /下。 但是,当我正常调用此模板时,我只会收到带有模板名称的字符串。 例如: {# in page.html.twig or page--front.html.twig #} {% include 'parts/footer.html.twig' %} 以字符串形式返回文件名: parts/footer.html.twig Drupal 8可以做到吗?
19 8  theming 

2
小组对一个主题有什么好处?
我从来没有考虑过Panels,因为我一直对编写自己的主题感到满意。 但是,我看过很多文章主张Panels的优点(来自Lullabot和Active Lamp),所以我认为现在应该重新审视它,尤其是Panels将出现在Drupal 8中。 我已经广泛使用它,甚至看过这个有用的屏幕广播系列。但是我看不出有什么好处。 我通常会在网站上建立非技术人员可以编辑节点的网站。通常,每个节点表单都会有几个字段,用户可以在其中添加该页面的所有内容。 为了充分利用面板,您似乎必须将页面拆分成容纳1个内容的单独节点,然后使用面板将各个节点组合在一起。如果您要创建仅由Web设计人员编辑的网站,则可能会很好。 但是,当您将网站交给非技术人员来添加内容时,就会产生问题。大多数非技术人员都希望在一个屏幕上完成所有页面的创建。如果他们必须创建许多不同的节点,然后让面板将它们完全合并在一起,这似乎会使他们感到困惑。 我知道,与Blocks相比,Panels具有更好的性能和对上下文的更好支持。但是,它似乎增加了很多复杂性和抽象性。 我可以看到它对于非主题的人有多么巨大的用处,但是我看不出对于可以主题的人有什么好处。 有人可以启发我。谢谢!
19 theming  panels 

3
将类添加到表单选择选项项
如何在没有JS的情况下将类添加到表单选项标签?目前,在Form API中,我可以像这样传递键控数组 array( '0' => 'option 0', '1' => 'option 1', ) 我会得到这样的html <option value="0">option 0</option> <option value="1">option 1</option> 有没有办法做这样的事情: array( array( 'value' => 0, 'text' => 'option 0', 'class' => 'bob 0', ), array( 'value' => 1, 'text' => 'option 1', 'class' => 'bob 1', ), ) 然后得到这个 <option …
19 theming  forms 

4
如何编辑<head>信息
在Drupal 6中,整个页面数据都存储在中page.tpl.php。现在,有了Drupal 7,只有出现在&lt;body&gt;和之间的内容&lt;/body&gt;。那么,如何编辑HEAD信息?它仍然存储在.tpl.php文件中吗?哪里?如果没有,您该怎么做?
19 7  theming 

4
页面布局的最佳做法
我试图弄清楚在Drupal中页面布局的最佳实践是什么。许多页面上都有几个不同的元素,例如主要内容,标题图像等。我不是在创建“基本页面”或类似内容(例如,整个页面只有一个节点)。 在每个页面上都使用面板,然后在面板上放一些块,是否很好?我可以删除视图,可能是节点,联系表单等。
19 7  panels  theming 

9
为视图块创建模板文件
关于自定义块的主题有很多,但是由视图创建的块又如何呢? 我的视图块具有id:block-views-posts-listing-block, 我尝试了多种命名模板文件的方法,例如:block--block--views-posts-listing-block.tpl.php,但是我找不到正确的文件名。
19 7  views  theming  8  blocks 



4
第三方基于PHP类的库的最佳实践
我目前正在开发一个需要第三方PHP库的模块,该库本质上是一个PHP类。通常,我会将其放置在include /子目录中并添加 files[] = includes/Foo.php 到我的.info文件,并在我执行$foo = new Foo()。时让Drupal 7类自动加载器完成它的工作 。 不过,我有权向公众发布此模块,而不希望将库与模块一起使用。我非常了解许可的复杂性,但是出于这个问题,我想忽略它。 还有一个类似的问题,如何包含PHP库?,但我真的不认为这可以解决我的难题。 这个回答这个问题本质上说,使用库API,但每一个模块,我已经发现,使用这只是做一个libraries_get_path()得到基本路径(包括备用路径时,不可用),然后再执行require或include一些错误检查(或不检查)。都做类似的事情: if (!class_exists('Foo')) { $path = function_exists('libraries_get_path') ? libraries_get_path('foo') : 'sites/all/libraries/foo'; if (!include($path . '/Foo.php')) { // handle this error } } 在这种情况下,Libraries API实际上并没有做任何事情。与要求用户下载副本并将其放置在模块文件夹本身中的旧方法相比,我看不出使用此方法的优势。而且,仍然存在模块开发人员仍然需要使用/ 手动进行加载的问题。例如,Facebook模块只是将库加载到中,而HTML Purifier模块具有内部功能,可在每次需要该库时进行检查和加载。includerequirehook_init 这可能是一种普遍的做法,但似乎不是最佳做法。 我的模块应该主动声明一个a hook_libraries_info以便我使用libraries_load('foo')吗?这似乎也很奇怪。
17 7  theming 

2
按节点类型覆盖html.tpl.php
在我主题的template.php文件中,我尝试了以下操作: function media_preprocess_page(&amp;$vars, $hook) { if (isset($vars['node'])) { // If the node type is "blog" the template suggestion will be "html--blog.tpl.php". $vars['theme_hook_suggestions'][] = 'html__'.$vars['node']-&gt;type; // If the node type is "blog" the template suggestion will be "page--blog.tpl.php". $vars['theme_hook_suggestions'][] = 'page__'.$vars['node']-&gt;type; // If the node id is "33" the template suggestion …
17 7  theming 

3
如何处理/清理过时的聚合CSS / JS?
我只使用内置于CSS / JS聚合中的Drupal 7,但是css.gz和js.gz文件所在的文件文件夹正在以相当快的速度填充,尽管我敢肯定这会需要一段时间在它完全充满驱动器之前,现在是任何时候处理这​​种情况的好时机。 / js中的当前文件数为335 / css中的当前文件数为451 我应该采用任何标准方法来处理这种情况吗?我更喜欢一个解决方案,使drupal处于循环中。 此外,我发现许多gz文件都有非gz副本。是否同时保留.css和.css.gz文件有什么原因?可能会gr废? 谢谢

1
如何覆盖默认的page.tpl.php?
我的D7网站上有一页,与其余页面明显不同。在此页面中,我将仅以不同的布局显示有限数量的区域。 覆盖默认值的最佳方法是什么page.tpl.php?我可以创建mycustom-page.tpl.php仅在网站内特定网址上调用的“ ”之类的东西吗?
17 7  theming 

8
我如何获得基本路径?
我想在Drupal 8模板文件中使用基本路径。我尝试了以下操作,但没有得到正确的结果。 {{ app.request.baseUrl }} {{base_path}} 我需要的是该节点的绝对路径{{ app.request.baseUrl }}/{{ url }}。 我发现的一个解决方案是将这段代码放在预处理钩中,并将其传递给主题。 $host = \Drupal::request()-&gt;getHost(); $response = \Drupal::httpClient() 我正在寻找更好的解决方案。我应该用什么代替我正在使用的那个?
16 theming 

4
检查用户是否以主题登录
在Drupal 7中,我们可以通过检查$GLOBAL['user']-&gt;uid或使用来简单地检查当前用户是否已登录主题user_is_logged_in()。 在Drupal 8中,如何检查用户是否以页面模板登录? 一个解决方案是手动签入hook_preprocess_page(),但是由于它非常流行,我认为Drupal默认为Twig主题引擎提供一些功能。
16 theming  8 

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.