覆盖drupal日历主题

时间:2010-09-18 16:08:03

标签: drupal drupal-6 calendar

我正在尝试主题日历视图,有没有办法用模块覆盖主题路径而不是覆盖模板文件?

我想创建一个覆盖主题功能的模块,这样我就可以在模块中包含模板文件而不是日历模块。

事先提前

3 个答案:

答案 0 :(得分:1)

您可以覆盖模块中的视图模板,请参阅“视图”高级帮助的Using default views in your module页面中的“在模块中显示视图”。由于Calendar是一个视图插件,我认为视图模板的基本行为适用。如果在hook_theme($existing, $type, $theme, $path)中声明自己的主题输出不适用于日历视图,则可能需要使用hook_theme_registry_alter(&$items)

答案 1 :(得分:0)

我认为你不能在一个模块中做那样的事情,至少不是一个干净的方式。

Drupal分离了功能(模块)和演示文稿(主题)。将两者分开是很有道理的。

  • 清洁更易维护的代码。
  • 不同网站的功能需求很常见。
  • 演示和功能通常由不同的人(开发人员和他们的人)完成

所以如果你可以在模块中做这样的事情,我不会感到惊讶。但是你会反对Drupal,很难做到这一点,没有充分的理由。

如果要创建可重复使用的样式,模板覆盖等,请改用子主题系统。

答案 2 :(得分:0)

看起来你在这里要做的就是重写calendar模块的功能,以一种在主题图层有机会干掉它之前完全取代普通日历行为的方式。

在这些(希望很少见)的情况下,最好的办法是创建自己的calendar分叉作为新模块,以现有的calendar代码作为起点。直接修改模块代码比尝试破解Drupal的基本功能/显示交互要容易得多。

我通常不会推荐这个,但在您的情况下似乎是合适的。

请务必将任何改进发送回日历设备,以便我们所有人都能受益:)