【问题标题】:Drupal6: Embedding a region in a view .tpl.php fileDrupal6:在视图 .tpl.php 文件中嵌入区域
【发布时间】:2009-10-05 19:33:16
【问题描述】:

任何人对如何将区域嵌入视图 .tpl.php 文件有任何想法吗?

我通过在theme_preproces_node() 中添加类似这样的内容在节点 .tpl.php 中轻松完成它:

$vars['promos'] = theme('blocks', 'promos');

完全没有问题。但是,显然没有 theme_preprocess_view() 函数,当我尝试将相同的 sn-p 添加到 theme_preprocess() 时出现内存错误。

致命错误:第 42 行 /Users/cpharmston/Sites/Projects/Threespot/neh01/includes/database.mysqli.inc 中允许的内存大小为 104857600 字节已用尽(尝试分配 523800 字节)

我被难住了。有什么想法吗?

谢谢!

【问题讨论】:

    标签: drupal templates drupal-6 preprocessor theming


    【解决方案1】:

    “快速而肮脏”的方式:您可以将theme('blocks', [region_name]) 调用直接放入views .tpl.php 文件中。

    虽然预处理函数旨在更好地分离“业务”逻辑与“显示”逻辑,但它们并不是必需的,因此您仍然可以以任何您喜欢的方式将自定义代码放入 .tpl.php 文件中.

    '正确'方式:视图预处理函数,不止一个。查看views 模块的theme.inc 文件。在那里,您会发现视图可能使用的不同模板的不同预处理功能(例如,“未格式化”、“表格”和“列表”等)。您只需要找到与要注入新变量的视图模板相关的那个。

    【讨论】:

    • 将此文件归档在“DOH!”下类别。我是如此深入地分离业务和显示逻辑,以至于我忽略了显而易见的事情。感谢您的帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    相关资源
    最近更新 更多