将Search DIV添加到Joomla 3.0组件视图时,CSS丢失



我发现,当这个代码片段被添加到我正在创建的自定义组件的视图中时,我将失去管理面板中的默认样式。

        <div class="btn-group pull-right hidden-phone">
            <label for="limit" class="element-invisible"><?php echo JText::_('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC');?></label>
            <?php echo $this->pagination->getLimitBox(); ?>
        </div>

关于为什么会发生这种情况,有什么想法吗?


我还发现,这段代码在相同的视图上也删除了样式:

<?php echo $this->pagination->getListFooter(); ?>

这让我认为这与$this->pagination有关,这通常是为视图定义的?


好吧,另一个更新。。。

我现在已经清除了那些样式问题,并发现根本问题与$this变量有关。我有另一个PHP调用,视图应该从数据库中提取数据,如下所示:

<?php foreach ($this->items as $i => $item) :
            $ordering   = ($listOrder == 'a.ordering');
            $canCreate  = $user->authorise('core.create',       'com_bbmaps');
            $canEdit    = $user->authorise('core.edit',         'com_bbmaps');
            $canCheckin = $user->authorise('core.manage',       'com_bbmaps');
            $canChange  = $user->authorise('core.edit.state',   'com_bbmaps');
            ?>

但是,我再次看到错误-->

Warning: Invalid argument supplied for foreach()

最终,我的问题是在哪里定义$this相关的数据库?


我看到的唯一定义$this的地方是在controller.php文件中:

public function display($cachable = false, $urlparams = false)
{
    require_once JPATH_COMPONENT.'/helpers/componenthelper.php';
    $view       = JFactory::getApplication()->input->getCmd('view', 'userdatas');
    JFactory::getApplication()->input->set('view', $view);
    parent::display($cachable, $urlparams);
    return $this;
}

正如您所看到的,它引用了userdatas视图。我已经从userdatas视图创建了一个名为photos的新视图。如何告诉photos视图从新数据库中提取$this

请检查是否关闭了所有打开的标签。当我忘记关闭以前打开的标签或其他标签时,我也遇到了同样的问题。有时,某些编辑器的自动完成功能会错误地将闭包替换为。

--编辑--

如果您没有启用php.ini display_errors指令,也请检查服务器的错误日志。组件中可能存在您在页面上看不到的错误。当出现"致命"PHP错误时,执行将停止,因此停止进一步渲染。

--第二次编辑--

您可以尝试替换以下内容:

<?php foreach ($this->items as $i => $item) :

带有:

<?php if (!empty($this->items) :
          foreach ($this->items as $i => $item) :

然后关闭"endforeach"后的"if":

    endforeach;
endif;

这将修复"无效参数"错误。

附言:在这种情况下,$很可能对应于模板对象,该对象具有指定给它使用的所有属性。

相关内容

  • 没有找到相关文章

最新更新