我正在尝试主题日历视图,有没有办法用模块覆盖主题路径而不是覆盖模板文件?
我想创建一个覆盖主题功能的模块,这样我就可以在模块中包含模板文件而不是日历模块。
事先提前答案 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的基本功能/显示交互要容易得多。
我通常不会推荐这个,但在您的情况下似乎是合适的。
请务必将任何改进发送回日历设备,以便我们所有人都能受益:)