pligg添加模块到故事

时间:2014-03-21 10:48:51

标签: php module pligg

在pigg中将新模块添加到主pligg模板pligg.tpl非常简单,但是,我想在故事中添加一个新模块。位于link_summary.tpl。问题是,当创建链接摘要模板时,会创建一个新变量$ main_smarty,它具有自己的本地作用域,不可用于我的modulename_main.php文件。当我使用全局$ main_smarty变量时,它会重新引用主pligg模板smarty对象。所以我习惯了对主体系结构php代码的快速和有点脏修复,到link.php文件我添加了一个新的回调:

$vars = '';
check_actions('add_to_summary', $vars);

然后创建一个新的全局变量,引用link.php文件中的$ main_smarty对象,然后我在modulename_main.php中使用

global $link_smarty;
global $link_variables;
$link_variables = $this;
$link_smarty = $main_smarty;

有没有更原生,更正确,更清晰的方式来做这个而不需要调整主体系结构的pligg代码?

1 个答案:

答案 0 :(得分:0)

不确定这是否有帮助。

另一种方法是编写一个新模块并将其分配给该特定页面,例如link_summary。 如您所知,每个模块都有一个init文件,类似于your_module_init.php。在您的情况下,init文件类似于:

<?php
if(defined('mnminclude')){
    include_once('your_module_settings.php');
    $include_in_pages = array('link_summary');
    $do_not_include_in_pages = array();
    if( do_we_load_module() ) {     
        module_add_action('');
        include_once(mnmmodules . 'your_module_name/your_module_main.php');
    }
}
?>

干杯,