如何检查插件在ImpressPages 4.x上是否处于活动状态


How can i check the plugin is active on ImpressPages 4.x?

如何在ImpressPages 4.x上检查插件是否已安装以及状态?

如果rss插件已安装并处于活动状态,我想显示rss提要链接。是否有任何检查插件状态的功能?我尝试了ipGetOption(),但无论插件是否处于活动状态,选项都会一直存储。我需要获取isActive列的Plugin状态。

<?php if($rss_url = ipGetOption('Rss.rssUrl')): ?>
     <li class="rss"><a href="<?php echo $rss_url; ?>" title="RSS" target="_blank">RSS</a></li>
<?php endif; ?>

没有"正确"的方法可以做到这一点。然而,有多种方法可以通过使用内部方法来实现这一点。我相信最简单的方法是:

<?php
    $activePlugins = 'Ip'Internal'Plugins'Service::getActivePluginNames();
    if(in_array('Rss', $activePlugins)) {
        $rss_url = ipGetOption('Rss.rssUrl');
?>
<li class="rss"><a href="<?php echo $rss_url; ?>" title="RSS" target="_blank">RSS</a></li>
<?php } ?>

此服务方法每次都执行一个DB查询。因此,请小心使用。